Gibt es eine Möglichkeit Methoden der aktuellen Klasse zu Klasse Kind als Requisiten Als BeispielReactjs Methoden als Requisiten Kind vorbei
zu passieren;
var SignupModal = React.createClass({
mixins: [CheckMixin],
getInitialState: function(){
return {
'wizardstate': 0
}
},
setWizardState: function(state){
var that = this;
switch (state){
case 0:
that.setState({'wizardstate': 0});
break;
case 1:
that.setState({'wizardstate': 1});
break;
case 2:
that.setState({'wizardstate': 2});
break;
case 3:
that.setState({'wizardstate': 3});
break;
case 4:
that.setState({'wizardstate': 4});
break;
}
},
render: function(){
var temp;
switch (this.state.wizardstate){
case 0:
temp = (<SignupSetup setWizardState={this.setWizardState}/>);
break;
case 1:
temp = (<EmailSetup />);
break;
case 2:
temp = (<PasswordSetup />);
break;
case 3:
temp = (<UsernameSetup />);
break;
case 4:
temp = (<CategoriesSetup />);
break;
}
return (<Modal {...this.props} title="Login" animation={false}>
<div className="modal-body">
<div>
{temp}
</div>
</div>
</Modal>)
var SignupSetup = React.createClass({
render: function(){
return (<Button onClick={this.props.setWizardState(1)}></Button>)
}
});
Ich möchte diese setWizardState Methode von SignupModal zu Kind SignupSetup als Stütze passieren, aber ich habe den Fehler
Uncaught Error: Invariant Violation: replaceState(...): Cannot update during an existing state transition (such as within
). Render methods should be a pure function of props and state.react.js:17122
Danke, gelöst total das Problem :) – tunaktunak
Können Sie auf auszuarbeiten, warum dies getan werden muss? –
Antony, sie wollen, dass die Zahl das erste Argument für die Funktion ist, aber nicht die Funktion in render aufrufen. Es gibt verschiedene Gründe, warum Menschen Schwierigkeiten haben, dies zu verstehen. Könnten Sie erklären, wo Sie verwirrt sind? – FakeRainBrigand