我是一个 React 新手,试图将 React 集成到 Rails 站点中。我CommentForm
在页面/html 的最顶部有一个Comments
组件,在同一页面的底部有一个组件。目前,两者都是通过 React-On-Rails 的react_component
方法渲染的。
问题是,在提交表单后,CommentForm
我想更改组件。我熟悉确保状态冒泡到一个共同的父组件的想法,但是目前,这两个组件没有共同的父组件(或根本没有任何父组件)。this.state.comments
Comments
所以,我已经学习了 2 天的 React 并且可能很困惑,所以,克服这类问题的最佳实践是什么?我看到的选项:
- 将整个 rails 视图重写为单个父组件,并将两个组件作为其下的子组件。这听起来并不有趣 - 页面上的两个组件之间有很多 Rails 助手生成了很多 html
- 使用 Redux 创建一个在两个组件之间共享的存储(???)
- 以某种方式创建一个父组件,同时仍然在页面的不同部分渲染其他两个组件(?)
- 从内部或某些共享资源(例如:范围)访问
Comment
的状态属性,据我有限的理解,这不是 React 方式CommentForm
window
我猜这是一个常见问题,但我不确定解决它的一般智慧是什么。任何想法表示赞赏。