首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按顺序同步呈现React组件

按顺序同步呈现React组件
EN

Stack Overflow用户
提问于 2018-06-01 02:06:45
回答 1查看 298关注 0票数 0

我正在创建一个React应用程序并使用Mobx进行状态管理。代码如下所示:

代码语言:javascript
运行
复制
@observer
class ComponentX extends React.Component {
    constructor(props) {
        super(props);
        this.renderC = this.props.renderC;
    }

    render() {
        return (
            <div>
                <div>
                    <ComponentA />
                </div>

                <ComponentB mousePosition={this.props.mouseCoordiantes}/>

                {this.props.renderC && <ComponentC/>}
            </div>
        )
    }
}

<ComponentC/>执行一些DOM操作,要求<ComponentB/>在执行其操作之前完全呈现。由于<ComponentB/>使用这些鼠标坐标作为道具,因此当用户移动鼠标时,ComponentX会不断地重新渲染,从而导致子组件也会重新渲染。(mouseCoordiantesrenderC是Mobx observables,因此只要它们的值发生更改,使用它们的组件就会自动重新渲染)。根据鼠标位置,renderC设置为true,这会导致<ComponentC/>进行渲染。

但是,当renderC设置为true时,<ComponentC/>会在<ComponentB/>完成渲染到DOM之前进行渲染。因此,预期的结果并未实现。为什么会发生这种情况?我如何确保只有在<ComponentB/>完全渲染之后才会渲染<ComponentC/>

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

https://stackoverflow.com/questions/50630324

复制
相关文章

相似问题

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