【发布时间】:2018-10-30 09:56:23
【问题描述】:
所以,我正在尝试为从服务器获取数据的编辑组件设置初始状态,现在应该可以在组件状态下进行编辑。但是当我尝试这样做时:
<Query query={POST_QUERY} variables={{ id: this.props.match.params.id }}>
{({ data, loading, error }) => {
this.setState({ title: data.title })
我陷入了无限循环,因为这是在渲染中。我不应该将组件状态与查询组件一起使用吗?如果没有,还有什么选择?
【问题讨论】:
-
Query组件内的任何具体的setState,可以直接传给子组件 -
@PiyushBhati,在我的例子中,我正在使用一个需要由状态控制的输入的实时表单验证器。
-
@rma 在渲染函数中使用 setState 不是一个好主意。您可以在容器内使用查询组件并将值传递给另一个组件,使用该组件的
gDSFP将其设置为状态,然后您可以使用您的验证器。 -
完全同意,@PiyushBhati,谢谢。目前,上述 DanielRearden 的解决方案对我有用。
标签: reactjs react-apollo