gpt4 book ai didi

reactjs - 为什么在我重新渲染时没有调用 componentDidMount?

转载 作者:行者123 更新时间:2023-12-03 15:04:21 29 4
gpt4 key购买 nike

我有多个用于注册的模式,但遇到问题。我一共有三个 Action 。首先是注册按钮,然后激活第一个注册模式以注册 google 或 facebook,然后完成模式以获取提供者无法收集的其他信息,将与预先填写的输入收集表单提供者一起出现。我在呈现应用程序时呈现两个模态,并且仅在单击注册按钮时显示它。我需要在完成 facebook 或 google 登录后调用 componentDidMount,但是当我在应用程序开始时呈现模态时调用它。按钮点击 Action reducer 和 reducer 改变 bool 类型的状态以显示模式与否。

class HeaderRegisterButton extends Component {
render() {
return(
<div>
<Register1/>
<Register2/>
</div>
);
}
}

注册模式 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>
);
}
}

注册模式 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在任何组件的生命周期中只调用一次,重新渲染不会重新初始化组件。 componentDidUpdate将在您可以管理逻辑的地方调用。

关于reactjs - 为什么在我重新渲染时没有调用 componentDidMount?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42358991/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com