Я, вероятно, упускаю что-то очень очевидное и хотел бы очистить себя.
Вот мое понимание.
В наивном компоненте реакции у нас есть states
& props
. Обновление state
с setState
повторным оказывает весь компонент. props
в основном предназначены только для чтения, и их обновление не имеет смысла.
В компоненте реакции, который подписывается на хранилище redux через что-то вроде store.subscribe(render)
, он, очевидно, повторно отображает каждый раз, когда хранилище обновляется.
В response-redux есть помощник, connect()
который вводит часть дерева состояний (которая представляет интерес для компонента) и actionCreators в props
отношении компонента, обычно через что-то вроде
const TodoListComponent = connect(
mapStateToProps,
mapDispatchToProps
)(TodoList)
Но с пониманием того, что a setState
необходим для TodoListComponent
реакции на изменение дерева состояний redux (повторный рендеринг), я не могу найти какой-либо state
или setState
связанный код в TodoList
файле компонента. Читается это примерно так:
const TodoList = ({ todos, onTodoClick }) => (
<ul>
{todos.map(todo =>
<Todo
key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
)}
</ul>
)
Может ли кто-нибудь указать мне в правильном направлении, что мне не хватает?
PS Я следую примеру списка задач, поставляемого с пакетом redux .