【发布时间】:2018-08-05 16:41:37
【问题描述】:
我已经阅读了 React 中的嵌套组件。
我尝试了这个例子,发现每次我更新父组件(todolist)的状态。 DOM 树重新渲染整体而不是添加新的。
我的问题是:这是我们应该避免的反模式吗?
const TodoList = ({ todos, onTodoClick }) => {
const Todo = ({ completed, text, onClick }) => {
return (
<li onClick={onClick} style={{ textDecoration: completed ? 'line-through' : 'none' }}>
{text}
</li>
);
};
return todos.map(todo => <Todo key={todo.id} {...todo} onClick={() => onTodoClick(todo.id)} />);
};
【问题讨论】:
-
我知道您只是在试验,但您是说如果您在
TodoList之外定义Todo组件,则整个列表不会在DOM 中更新? -
是的。我注意到它只是将新的待办事项添加到列表中
标签: javascript reactjs anti-patterns