Javascript 反应组件不';我没有收到新道具
这是我的应用程序组件:Javascript 反应组件不';我没有收到新道具,javascript,reactjs,Javascript,Reactjs,这是我的应用程序组件: class App extends React.Component { constructor(props) { super(props); this.clickHandler = this.clickHandler.bind(this); } componentWillReceiveProps(nextProps) { console.log("nextProps===>", nextProps); } clickHan
class App extends React.Component {
constructor(props) {
super(props);
this.clickHandler = this.clickHandler.bind(this);
}
componentWillReceiveProps(nextProps) {
console.log("nextProps===>", nextProps);
}
clickHandler() {
const { isLoading, request } = this.props;
request();
}
render() {
return (
<span>
<button onClick={this.clickHandler}>Request</button>
</span>
);
}
}
类应用程序扩展了React.Component{
建造师(道具){
超级(道具);
this.clickHandler=this.clickHandler.bind(this);
}
组件将接收道具(下一步){
log(“nextrops===>”,nextrops);
}
clickHandler(){
const{isLoading,request}=this.props;
请求();
}
render(){
返回(
要求
);
}
}
下面是我如何渲染它的:
let isLoading = false;
const request = function() {
isLoading = true;
};
ReactDOM.render(
<App isLoading={isLoading} request={request} />,
document.querySelector("#app")
);
let isLoading=false;
常量请求=函数(){
isLoading=true;
};
ReactDOM.render(
,
文档查询选择器(“app”)
);
当用户单击按钮时,IsLoing
变量将更改。但是,
似乎没有收到它,因为组件不会调用
为什么? 即使您的道具加载正在更新,也不会触发对道具的重新渲染
ReactDOM.render(
<App isLoading={isLoading} request={request} />,
document.querySelector("#app")
);
class Parent extends React.Component {
state = {
isLoading: false
}
request = () => {
this.setState({ isLoading:true });
}
render() {
return <App isLoading={isLoading} request={request} />
}
}
ReactDOM.render(
<Parent />,
document.querySelector("#app")
);