最佳答案
我想出了两个解决办法,但感觉都不太对。
第一个解决方案:
state.input
。onChange
函数,该函数接受一个事件并设置state.input
。onChange
作为props
传递给C1,并让C1将this.props.onChange
绑定到Foo的onChange
。这个作品。每当Foo的值发生变化时,它都会触发P中的setState
,因此P将有要传递给C2的输入。
第二个解决方案:
把Foo放到P中。
但是,当我构造我的应用程序时,将所有表单元素放在最高级类的render
中,这是我应该遵循的设计原则吗?
就像在我的例子中,如果我有一个C1的大渲染,我真的不想仅仅因为C1有一个表单元素就把C1的整个render
放到P的render
中。
我该怎么做呢?