He implementado redux en una aplicación react, pero estoy confundido en cuanto a esta sintaxis:

connect(mapState)(MyComponent)

¿Por qué el segundo parámetro debe estar entre llaves separadas si ambos se pasan para conectarse?

-2
seventeen 7 nov. 2019 a las 18:30

2 respuestas

La mejor respuesta

Así que probablemente esté acostumbrado a la sintaxis. Sólo usted está viendo todo en un paso Piense en ello de esta manera que es equivelente;

const enhancer = connect(mapState);
const YourConnectedComponent = enhancer(MyComponent);

Así que eso es lo mismo si en lugar de asignar el resultado de conectar en una variable lo usas directamente ya que es una función que lo verías como:

const YourConnectedComponent = connect(mapState)(MyComponent)
2
jstuartmilne 7 nov. 2019 a las 15:37

Técnicamente, su componente se conectará con la tienda redux una vez:

  1. connect se ha llamado con la variable mapStateToProps que devuelve una función
  2. después de esta función se llamará con el parámetro MyComponent pasado.

De la redux documentación:

La función connect() conecta un componente React a una tienda Redux. Proporciona su componente conectado con las partes de los datos que necesita de la tienda, y las funciones que puede utilizar para enviar acciones al almacén.

De esta manera redux manejará los cambios de estado props en su componente automáticamente.

1
norbitrial 7 nov. 2019 a las 15:39