Насколько я понимаю, это решение Redux должно решить, но пока я пытаюсь сделать эту работу без него.Как обновить состояние вне Render?
Когда я запускаю это, я понимаю, что он застрял в шаблоне. Когда я бегу render
это вызывает updateState()
который изменяет состояние, что вызывает повторное рендеринга, который вызывает updateState()
и так далее ...
Я получаю сообщение об ошибке:
Warning: setState(...): Cannot update during an existing state transition (such as within render or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to componentWillMount.
Что componentWillMount
делать? Какой был бы лучший способ структурировать это, поэтому, когда я вызываю <CreateRows />
, он обновит состояние, но избежит цикла?
var CreateRows = React.createClass({
updateState : function(){
this.setState({
'people' : [{'name':'something_else', 'email':'[email protected]'}]
});
return (
<tr>
<td>Morgan</td>
<td>[email protected]</td>
</tr>
)
}
render: function(){
return (
<tbody>
{this.updateState()}
</tbody>
)
}
});