Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

237
Views
¿Por qué la tienda en redux debería ser una variable constante?

He visto muchos ejemplos como const store = createStore(someReducer) ¿de qué sirve convertirlo en una constante cuando queremos que se cambie a través de reductores? ¿Por qué no var?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

El valor de la store nunca debe cambiar para apuntar a una nueva tienda. El estado de la tienda cambia, pero la store siempre se refiere solo a la tienda que se creó. Puede verlo en el ejemplo de la documentación de createStore :

 import { createStore } from 'redux' function todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([action.text]) default: return state } } const store = createStore(todos, ['Use Redux']) store.dispatch({ type: 'ADD_TODO', text: 'Read the docs' }) console.log(store.getState()) // [ 'Use Redux', 'Read the docs' ]

store nunca obtiene un nuevo valor allí, pero el estado de la tienda a la que se refiere cambia. Observe el bit al final que obtiene el estado actual de la tienda.

Aclaremos eso agregando una llamada a getState antes del dispatch :

 // console.log(Object.keys(window).sort()); const { createStore } = RTK; function todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([action.text]) default: return state } } const store = createStore(todos, ['Use Redux']) console.log("before dispatch:", JSON.stringify(store.getState())) // before dispatch: ["Use Redux"] store.dispatch({ type: 'ADD_TODO', text: 'Read the docs' }) console.log("after dispatch: ", JSON.stringify(store.getState())) // after dispatch: ["Use Redux", "Read the docs"]
 <script src="https://unpkg.com/@reduxjs/toolkit"></script>

El estado de la tienda cambia, no qué tienda se está utilizando, por lo que store nunca cambia.

about 4 years ago · Juan Pablo Isaza Report

0

El contenido de la tienda cambiará, pero nunca lo reasignará con otra tienda, por lo tanto, const .

En general, hoy en día es mejor usar let y const , ya que tienen un alcance diferente al de var . var no se limita al alcance del bloque, por lo que las variables se sobrescriben entre sí de formas inesperadas. Considere estos dos fragmentos de código: (ejemplo de MDN )

 var x = 1; if (x === 1) { var x = 2; // just changes the value of the outer variable console.log(x); // expected output: 2 } console.log(x); // expected output: 2

si usa let (o const ) en su lugar, las variables existen solo en el ámbito en el que se crean: se ocultan entre sí, pero no anulan los valores de las demás:

 let x = 1; if (x === 1) { let x = 2; // new variable with the same name for the inner block, shadows the outer variable console.log(x); // expected output: 2 } console.log(x); // expected output: 1
about 4 years ago · Juan Pablo Isaza Report

0

const no crea una estructura de datos inmutable, solo evita que esa variable sea reasignada .

 const numbers = [1,2,3]; // mutating the object assigned to `numbers` is fine numbers.push(4); // reassigning the variable is not numbers = [1,2,3,4];

Por lo general, const se usa cuando una variable no se reasignará y cuando se desea un alcance de bloque. El objeto de la tienda redux es un gran ejemplo de eso.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!