Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何避免重复渲染react组件?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何避免重复渲染react组件?

Javascript 如何避免重复渲染react组件?,javascript,reactjs,Javascript,Reactjs,中的startUpload方法将在每次收到响应时调用回调函数来更新父组件的状态,这将导致不必要地多次呈现 我的预期效果是,更新状态后,只需重新呈现组件 类父级扩展React.Component{ 建造师(道具){ 超级(道具); this.getResponseData=this.getResponseData.bind(this); 此.state={ 答复数据:[], } } getResponseData(数据){ 这是我的国家({ responseData:this.state.res

中的
startUpload
方法将在每次收到响应时调用回调函数来更新父组件的状态,这将导致不必要地多次呈现

我的预期效果是,更新状态后,只需重新呈现
组件

类父级扩展React.Component{
建造师(道具){
超级(道具);
this.getResponseData=this.getResponseData.bind(this);
此.state={
答复数据:[],
}
}
getResponseData(数据){
这是我的国家({
responseData:this.state.responseData.concat(数据),
})
}
render(){
返回(
)
}
}
类项扩展了React.Component{
componentDidMount(){
this.startupboad(this.props.files)
}
startUpload(文件){
常量URL=http://localhost:3000/upload';
for(设i=0,len=files.length;i{
this.props.updateData(数据);
})
}
}
render(){
const filesData=this.getFilesData(this.props.files);
让imageItems=filesData.map((当前)=>{
返回(
)
});
返回{imageItems};
}
}
功能结果(道具){
const responseData=props.data;
让结果=[];
if(响应数据长度){
结果=responseData.map(当前=>{
返回{current}

}); 返回{result} } }
您可以使用
shouldComponentUpdate
通知组件是否应基于状态/道具的更改重新渲染。使用这些知识,您可以实现所需的逻辑,以便仅在需要时呈现Items/Results组件


希望有帮助

查看
React
方法:“shouldComponentUpdate”@Tikkes这个API可以解决我的问题,谢谢