react-redux para ayudar a realizar estas tareas. React Redux proporciona una pequeña API con dos características clave: Provider y connect . Otro reto cubre connect . El Provider es un componente envolvente de React Redux que envuelve su aplicación React. Este contenedor le permite acceder a las funciones de store y dispatch Redux a través de su árbol de componentes. Provider toma dos accesorios, la tienda Redux y los componentes secundarios de su aplicación. La definición del Provider para un componente de la aplicación podría tener este aspecto: <Tienda de proveedores = {tienda}>
<App />
</Provider>
DisplayMessages . La única pieza nueva es el componente AppWrapper en la parte inferior. Utilice este componente de nivel superior para representar al Provider desde ReactRedux , y pase la tienda Redux como prop. Luego renderice el componente DisplayMessages como un elemento secundario. Una vez que hayas terminado, deberías ver tu componente React renderizado en la página. Nota: 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 Provider constante para que lo use en el método de renderizado de AppWrapper . AppWrapper debe hacer.
testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return mockedComponent.find("AppWrapper").length === 1; })(), "The AppWrapper should render.");'
- text: 'El componente contenedor del Provider debe tener una propiedad de la store pasado, igual a la tienda Redux.'
testString: 'getUserInput => assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return getUserInput("index").replace(/\s/g,"").includes("Provider wrapper component should have a prop of store passed to it, equal to the Redux store.");'
- text: DisplayMessages debería renderizarse como un elemento secundario de AppWrapper .
testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return mockedComponent.find("AppWrapper").find("DisplayMessages").length === 1; })(), "DisplayMessages should render as a child of AppWrapper.");'
- text: 'El componente DisplayMessages debe representar un elemento h2, input, button y ul .'
testString: 'assert((function() { const mockedComponent = Enzyme.mount(React.createElement(AppWrapper)); return mockedComponent.find("div").length === 1 && mockedComponent.find("h2").length === 1 && mockedComponent.find("button").length === 1 && mockedComponent.find("ul").length === 1; })(), "The DisplayMessages component should render an h2, input, button, and ul element.");'
```