是否有一种方法可以延迟Reacts渲染,同时进行提取调用以填充Redux存储,以便在渲染调用存储中的this.props时,数据已经存在。我遇到一个问题,即render方法中的store调用正在调用store(当前为空对象),这会导致渲染崩溃。
到目前为止,我想出的解决方案是使用呈现器首先调用的具有空数据的空JSON,然后在获取成功后调用现在填充的Redux存储,但是有没有更有效的方法?
答案 0 :(得分:1)
您不想延迟任何渲染,这是其中的一部分,也不希望影响功能。
它在获取新数据(属性,状态)时进行渲染。
根据您的情况,您需要解决不同的“数据情况”
因此,首先,您的减速器应具有默认状态,即:
{
"loading": false,
"username": null,
"isLoaded": false
}
现在在您的代码中,您可以处理不同的数据并相应地呈现差异视图
const YourComponent = props => {
if (props.loading) {
return <h1>loading</h1>
}
if (props.loaded && props.username==null) {
return <h1>cant find user</h1>
}
return <h1>{props.username} is loaded</h1>
}
这只是一个示例,您的代码应该更好,更有条理:)