v
Size: a a a
v
v
IK
<div>Но если вдруг к папке потребовалось обратиться компоненту задачи то придется пробрасывать через кучу компонентов объект с этой папкой (т.н пробрасывать пропсы)
{folder.projects.map(project=
<Project project={project} folder={folder}/>
)}
</div>
const Task = ({task}) => (Видите как все просто? C одной стороны можем работать с полученным объектом как с локальным стором и обновлять нужные поля а с другой стороны этот объект является частью дерева глобального состояния и мы можем обратиться к нужной части если просто пройтись по родительским ссылкам
<div style={{
background: task.project.folder.archived ? `gray`: `white`
}}>
<input
value={task.text}
onChange={(e)=>
task.text = e.target.value
}
/>
...
</div>
)
task.project.folder.archived ? "..." : "..."
Ну и наконец тот факт что все это состояние одновременно хранится в единственном объекте AppState позволяет получить преимущества работы с состоянием приложения как с единственным объектом - например выполнить сериализацию и сохранить в локал-сторадже и т.дХр
DP
M
Хр
IK
IK
Хр
Хр
v
Хр
NK
DN
DN
IK
DN
IK
IK