gpt4 book ai didi

javascript - 初始渲染后更新 View

转载 作者:行者123 更新时间:2023-12-03 06:08:44 26 4
gpt4 key购买 nike

尝试着思考如何做到这一点......

我在 React Native 中有一个 View ,我想根据服务器中的一些信息显示/或隐藏该 View (使用 firebase.. 并不重要)。我可以成功地做到这一点,只需返回一个值,但如果我添加一个确定返回它的数据库调用,它就不起作用。

问题是查询返回速度很快,但可能无法在 View 加载时准确返回。因此,我认为当下面代码中的 If Loop 最终运行时,已经太晚了。 一旦我从数据库中获得了是否显示 View 所需的信息,有没有办法重新渲染 View 或重新加载 View ,以便在数据库返回 true 时 View 将显示

我还应该添加我正在查询数据库的内容,并将 this.props 中的一些信息传递到组件中

我当前的逻辑是(这可能不是语法,但我想你会明白这个问题的想法):

returnOtherComponent(){

/*
This is just psuedo code, as the web query is a big block of text that is uneeded
*/
DatabaseIsTrue = Returned True from Web

if(DatabaseIsTrue){
return (
<View>
<Text> HELLO! </Text>
</View>
);
}
}

render(){
return(
<View>
{this.returnOtherComponent()}
</View>
);
}

最佳答案

您应该使用您的state对象来更新 View 。

因此,当服务器请求返回时,您可以通过 setState() 更新组件 state,并且组件将重绘。

returnOtherComponent() {
if (this.state.DatabaseIsTrue) {
return (
<View>
<Text> HELLO! </Text>
</View>
);
} else {
return {}
}
}

componentDidMount: function() {
/*
This is just psuedo code, as the web query is a big block of text that is uneeded
*/
DatabaseIsTrue = Returned True from Web

this.setState({
DatabaseIsTrue: DatabaseIsTrue
})
}

render(){
return(
<View>
{this.returnOtherComponent()}
</View>
);
}

关于javascript - 初始渲染后更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39417703/

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