“警告:无法在未安装的组件上调用setState(或forceUpdate)”,但组件没有setState?

问题描述 投票:1回答:1

我有一个组件,它使用fetch从URL获取用户列表,并且应该将它们放入Table组件中。获取请求是标准

componentDidMount() {
    fetch('http://localhost:8000/getUsers')
        .then(response => response.json())
        .then(data => {
            this.setState({ ids: data })
        })
        .catch(err => console.error(this.props.url, err.toString()))
}

问题似乎是将this.state.ids传递给子用户节点(每个节点只从一个元素中获取一个元素并很好地渲染它)。用户节点还提供错误“this.props.data is undefined”,因此可能是父节点更新后子节点不重新呈现。

for (let i = 0; i < 10; i++) {
        tbody.push(<tr key={i} ><td><User data={this.state.ids[i]} /></td></tr>);
} 

用户只有一个render(),没有调用setState或任何东西。删除tbody.push行后,我不再收到警告。还有另一个组件可以执行与此类似的操作,但不使用子组件。有没有办法让这个工作与子组件?

reactjs
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.