当商店发出任何不断变化的事件时,何时以及如何重新呈现?

时间:2016-07-05 07:09:48

标签: javascript reactjs react-jsx flux reactjs-flux

我是反应+流动的新手。我对在商店发布事件时重新呈现的时间和方式感到困惑。在我的应用程序中,我正在侦听函数componentWillMount()中的一个事件,该事件在呈现happpens之前调用。它工作正常,我的观点正在更新。我曾经只关心导致我的组件重新渲染的原因。 以下是代码。

更新商店的功能

php://input

我的组件 - 侦听器方法。

 createTodo(text){
const id = Date.now();
this.todos.push({
    id,
    text,
    complete:false
});

this.emit("change");

这是什么导致我的组件重新渲染?能否详细解释一下我。

2 个答案:

答案 0 :(得分:2)

每次调用setState时,组件都会重新渲染。

请参阅:https://facebook.github.io/react/docs/component-api.html

  

除非在shouldComponentUpdate()中实现条件呈现逻辑,否则setState()将始终触发重新呈现。如果正在使用可变对象且无法在shouldComponentUpdate()中实现逻辑,则仅当新状态与先前状态不同时调用setState()将避免不必要的重新渲染。

答案 1 :(得分:1)

每当你在反应应用程序中调用setState()时,都会导致状态呈现。 基本上每次状态更改时,您的反应组件内的渲染功能都将被执行,您的UI将反映新的更改