Probablemente me esté perdiendo algo muy obvio y me gustaría aclararme.
Aquí está mi comprensión.
En un componente de reacción ingenua, tenemos states
& props
. La actualización state
con setState
vuelve a renderizar todo el componente. props
en su mayoría son de solo lectura y actualizarlos no tiene sentido.
En un componente de reacción que se suscribe a una tienda redux, a través de algo como store.subscribe(render)
, obviamente se vuelve a renderizar cada vez que se actualiza la tienda.
react-redux tiene un ayudante connect()
que inyecta parte del árbol de estado (que es de interés para el componente) y actionCreators en cuanto props
al componente, generalmente a través de algo como
const TodoListComponent = connect(
mapStateToProps,
mapDispatchToProps
)(TodoList)
Sin embargo, con el entendimiento de que setState
es esencial para la TodoListComponent
que reaccionan al cambio árbol del estado redux (re-render), no puedo encontrar ninguna state
o setState
código relacionado en el TodoList
archivo del componente. Lee algo como esto:
const TodoList = ({ todos, onTodoClick }) => (
<ul>
{todos.map(todo =>
<Todo
key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
)}
</ul>
)
¿Alguien puede indicarme la dirección correcta en cuanto a lo que me estoy perdiendo?
PD: Estoy siguiendo el ejemplo de la lista de tareas pendientes incluido con el paquete redux .