我是反应+流动的新手。我对在商店发布事件时重新呈现的时间和方式感到困惑。在我的应用程序中,我正在侦听函数componentWillMount()中的一个事件,该事件在呈现happpens之前调用。它工作正常,我的观点正在更新。我曾经只关心导致我的组件重新渲染的原因。 以下是代码。
更新商店的功能
php://input
我的组件 - 侦听器方法。
createTodo(text){
const id = Date.now();
this.todos.push({
id,
text,
complete:false
});
this.emit("change");
这是什么导致我的组件重新渲染?能否详细解释一下我。
答案 0 :(得分:2)
每次调用setState
时,组件都会重新渲染。
请参阅:https://facebook.github.io/react/docs/component-api.html
除非在shouldComponentUpdate()中实现条件呈现逻辑,否则setState()将始终触发重新呈现。如果正在使用可变对象且无法在shouldComponentUpdate()中实现逻辑,则仅当新状态与先前状态不同时调用setState()将避免不必要的重新渲染。
答案 1 :(得分:1)
每当你在反应应用程序中调用setState()时,都会导致状态呈现。 基本上每次状态更改时,您的反应组件内的渲染功能都将被执行,您的UI将反映新的更改