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: <Provider store={store}>
<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.");'
```