我的render()
函数中有一个组件,该组件返回要在视图上显示的元素列表。该组件(父组件)引用对API发出http
请求的子组件。该请求负责返回带有其数据的元素列表。从数据库返回的数据基本上是该应用程序及其位置的其他用户。一切正常。
问题在于,当数据库中的数据发生更改时,我想能够重新呈现该组件,因此,只要更改,一个用户就可以知道其他用户的位置。
我坚决要使用一种带有setInterval
的方法,以在检测到数据库中的某些变化时不断发出请求,以请求去数据库化和更新(重新渲染)render()
函数内部的组件,但是有一些问题。这是我所拥有的:
render(){
return(
<View>
<Component_to_re_render/>
</View>
);
}
我想知道是否有办法做类似的事情...
render(){
return(
<View>
{this.re_render_component()}
</View>
);
}
re_render_component(){
"This function would make the component be re-rendered with the new
data received from the API in a period of time."
}
有人可以帮助我完成这项工作吗?不需要按照我提议的确切方式进行。
谢谢!
答案 0 :(得分:1)
如果将响应保存为组件状态并在组件中呈现状态,则在发生数据更改时它将自动重新呈现。不需要间隔(除非您需要在间隔中请求)。
类似的东西:
class MyComponent extends React.Component {
state = {text: ''}
componentDidMount(){
someKindOfHttpRequest().then(response => this.setState({text: response}))
}
render() {
return <Text>{this.state.text}</Text>
}
}