<sectionid="description"> En el último desafío, creó un almacén de Redux para manejar la matriz de mensajes y creó una acción para agregar nuevos mensajes. El siguiente paso es proporcionar acceso React a la tienda Redux y las acciones que necesita para enviar actualizaciones. React Redux proporciona su paquete <code>react-redux</code> para ayudar a realizar estas tareas. React Redux proporciona una pequeña API con dos características clave: <code>Provider</code> y <code>connect</code> . Otro reto cubre <code>connect</code> . El <code>Provider</code> es un componente envolvente de React Redux que envuelve su aplicación React. Este contenedor le permite acceder a las funciones de <code>store</code> y <code>dispatch</code> Redux a través de su árbol de componentes. <code>Provider</code> toma dos accesorios, la tienda Redux y los componentes secundarios de su aplicación. La definición del <code>Provider</code> para un componente de la aplicación podría tener este aspecto: <blockquote><Tienda de proveedores = {tienda}><br><App /><br></Provider></blockquote></section>
<sectionid="instructions"> El editor de código ahora muestra todos sus códigos Redux y React de los últimos desafíos. Incluye la tienda Redux, las acciones y el componente <code>DisplayMessages</code> . La única pieza nueva es el componente <code>AppWrapper</code> en la parte inferior. Utilice este componente de nivel superior para representar al <code>Provider</code> desde <code>ReactRedux</code> , y pase la tienda Redux como prop. Luego renderice el componente <code>DisplayMessages</code> como un elemento secundario. Una vez que hayas terminado, deberías ver tu componente React renderizado en la página. <strong>Nota:</strong> React Redux está disponible aquí como una variable global, por lo que puede acceder al Proveedor con notación de puntos. El código en el editor se aprovecha de esto y lo establece en un <code>Provider</code> constante para que lo use en el método de renderizado de <code>AppWrapper</code> . </section>
testString: 'getUserInput => assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return getUserInput("index").replace(/\s/g,"").includes("<Providerstore={store}>"); })(), "The <code>Provider</code> wrapper component should have a prop of <code>store</code> passed to it, equal to the Redux store.");'
- text: <code>DisplayMessages</code> debería renderizarse como un elemento secundario de <code>AppWrapper</code> .
testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return mockedComponent.find("AppWrapper").find("DisplayMessages").length === 1; })(), "<code>DisplayMessages</code> should render as a child of <code>AppWrapper</code>.");'