Ich habe mehrere Mods für die Anmeldung und Probleme damit. Ich habe insgesamt drei Aktionen. Zuerst der Register-Button, der dann das erste Modal-Register aktiviert, um sich entweder mit Google oder Facebook anzumelden, dann wird das Modal für zusätzliche Informationen vervollständigt, die vom Provider nicht erfasst werden konnten, mit vorgefüllten Eingaben, die vom Provider gesammelt wurden. Ich rendere die beiden Modale, wenn ich die Anwendung rendere und sie nur zeige, wenn die Register-Taste geklickt wird. Ich brauche den componentDidMount, der aufgerufen wird, nachdem ich die Facebook- oder Google-Anmeldung abgeschlossen habe, aber er wurde aufgerufen, als ich die Modale gerendert habe, als die App-Faust gestartet wurde. Die Tasten drücken Aktionsreduzierer und Reduzierer, die den Status von Typ bool ändern, um das Modal anzuzeigen oder nicht.Warum wird ComponentDidMount beim Rendern nicht aufgerufen?
class HeaderRegisterButton extends Component {
render() {
return(
<div>
<Register1/>
<Register2/>
</div>
);
}
}
Register Modal 1
class Register1 extends Component {
render() {
return(
<div>
<button onClick={() => this.props.showRegister2()} /> //This would hit the action reducer to get initial info and change the bool to show register 1 to false and register 2 to true.
</div>
);
}
}
Register Modal 2
import { reduxForm, Field, initialize } from 'redux-form';
class Register2 extends Component {
componentDidMount() {
hInitalize() //only called when the app fires, not when the state changes in the action reducer to change bool to show this modal.
}
hInitalize() {
var initData = {};
const initData = {
"name" = this.props.name//name stored inside redux store
};
this.props.initialize(initData)
}
render() {
return(
<div>
//Code to display the modal which works.
</div>
);
}
}
'componentDidMount' wird nur einmal aufgerufen, nicht bei jedem rerender. Das wäre 'componentDidUpdate'. – Li357
Ja genau was ich brauchte! – joethemow
@AndrewLi dies schafft tatsächlich ein Problem, ich kann keine meiner Eingaben eingeben/Forms – joethemow