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可以解决我的问题,谢谢