【发布时间】:2015-06-07 20:36:17
【问题描述】:
在 Rails 中,我在一个页面上有一组 Bootstrap 选项卡,每个选项卡上都有一个 React 组件,即:
<div id="tab-1" class="tab-pane">
...
<%= react_component('PeopleWidget', person_id: @person.id) %>
...
</div>
<div id="tab-2" class="tab-pane">
...
<%= react_component('ContentWidget', content_id: @content.id) %>
...
</div>
组件:
- 不要互相交谈
- 更新 RESTful 后端
现在:
-
PeopleWidget可以在后台更新一个人的权限 - 这应该将
ContentWidget更改为只读行为
我的战术解决方案是:
- 在显示
tab-2时的Bootstrap 事件,我想手动触发ContentWidget渲染。 - 这将启动从后端加载更新的详细信息
-
ContentWidget将有适当的更新行为
这感觉像是一种解决方法,但我有一个时间表:)
我不知道如何手动触发ContentWidget 重新渲染。这可能吗?
【问题讨论】:
-
如果组件的状态发生变化,它会重新渲染。比如打电话给
setState。或提供新的属性值。但是,我不希望渲染触发要加载的数据。您不应该依赖render作为触发器。它可能被调用得太频繁(或不够)。
标签: javascript jquery ruby-on-rails reactjs react-rails