我有组件App
,TextBox
和Toolbar
。
TextBox是draftjs组件,因此它基本上是textarea,具有很多功能。 Toolbar
控件TextBox
。
//render in App
return (
...
<TextBox changeTextBox={this.changeTextBox} ... />
<TextBox changeTextBox={this.changeTextBox} ... />
<Toolbar data={this.state.toolbarData} />
...
)
但不一定只有2 TextBox
(这取决于用户)。每个TextBox
应该有一个工具栏,即使用实际TextBox
中的函数。正如我所说 - TextBox
有很多功能。所以我认为将App
和TextBox
转换为同一个组件并不是一个好主意。但是我需要Toolbar
来使用TextBox
中的一些函数。我可以这样做 - 当我点击TextBox
changeTextBox
时会调用一个参数,这是一个对象,其中包含TextBox
中的一些函数,然后是changeTextBox
App
中的内容会更改实际Toolbar
和this.state.toolbarData
,因此Toolbar
可以控制TextBox
。它工作正常,但感觉不对。这是一个好习惯还是我应该使用其他东西?