首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以更新用React.createElement创建的React组件吗?

可以更新用React.createElement创建的React组件吗?
EN

Stack Overflow用户
提问于 2018-08-08 19:49:22
回答 1查看 440关注 0票数 0

我有代码,创建具有动态行数的动态表-每行都是React组件(由createElement创建):

代码语言:javascript
运行
复制
 render() {
        var rows = this.props.data.map(function(rowData) {
            return React.createElement(ScheduleRow, {
                data: rowData
            });
        });
        this.state.rows = rows;
        return (
            <div>
                <table>
                    {rows}
                </table>
            </div>
        );
    }

我可以通过this.state.rows[rowNumber]访问每一行,它的JSON stringify提供了TypeError: Converting circular structure to JSON,这很好,不幸的是我不能探索这个对象的结构。

所以-我的问题是-我可以在this.state.rows[rowNumber]上调用一些方法来更新这个组件的样式和数据吗?或者,我甚至可以访问子组件并更新this.state.rows[rowNumber]的某些子组件的样式和数据

EN

回答 1

Stack Overflow用户

发布于 2018-08-08 20:09:20

我不知道为什么在这个上下文中需要React.createElement,而您可以像下面这样调用JSX form中的元素:{ this.props.data.map(row => <ScheduleRow {...row} />) }

但是一般来说,一个组件是在它的props/state更新的时候。因此,当您的this.props.data被修改时,组件将重新呈现并更新子组件。

注意:请勿使用this.state = //whatever设置状态签出本文:https://medium.com/@baphemot/understanding-reactjs-setstate-a4640451865b

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51745993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档