Этот код не работает, потому что проект не определен при начальной загрузке страницы:
const project = useSelector(state => state.project.projects[projectID]);
const projectTasks = useSelector(state => state.project.projects[projectID].tasks);
Использование дополнительной цепочки решает эту проблему
const projectTasks = useSelector(state => state.project.projects[projectID]?.tasks);
Однако я знаю, что эта функция была просто добавлен и, вероятно, не широко поддерживается.
Какая альтернатива?
Я придумал этот код:
const project = useSelector(state => state.project.projects[ID]);
const projectTasks = project ? project.tasks : [];
Но он не работает, так как задачи проекта загружаются ПОСЛЕ загрузки проекта. Следовательно, компонент никогда не выполняет повторный рендеринг для изменения project.tasks
.