Provider permite proporcionar state y dispatch a sus componentes React, pero debe especificar exactamente qué estado y acciones desea. De esta manera, se asegura de que cada componente solo tenga acceso al estado que necesita. Esto se logra creando dos funciones: mapStateToProps() y mapDispatchToProps() . En estas funciones, declara a qué estados de estado desea acceder y a qué creadores de acción necesita poder enviar. Una vez que estas funciones estén en su lugar, verá cómo utilizar el método React Redux connect para conectarlos a sus componentes en otro desafío. Nota: Detrás de escena, React Redux usa el método store.subscribe() para implementar mapStateToProps() . mapStateToProps() . Esta función debe tomar el state como un argumento, luego devolver un objeto que mapea ese estado a nombres de propiedad específicos. Estas propiedades serán accesibles a su componente a través de props . Como este ejemplo mantiene todo el estado de la aplicación en una sola matriz, puede pasar ese estado completo a su componente. Cree un messages propiedad en el objeto que se está devolviendo y configúrelo en state . state constante debe ser una matriz vacía.
testString: 'assert(Array.isArray(state) && state.length === 0, "The const state should be an empty array.");'
- text: mapStateToProps debería ser una función.
testString: 'assert(typeof mapStateToProps === "function", "mapStateToProps should be a function.");'
- text: mapStateToProps debe devolver un objeto.
testString: 'assert(typeof mapStateToProps() === "object", "mapStateToProps should return an object.");'
- text: Pasar una matriz como estado a mapStateToProps debería devolver esta matriz asignada a una clave de messages .
testString: 'assert(mapStateToProps(["messages"]).messages.pop() === "messages", "Passing an array as state to mapStateToProps should return this array assigned to a key of messages.");'
```