我正在为 ClojureScript/Reagent的React Toolbox编写一个名为Reagent Toolbox的包装器。在 React Toolbox 中,有一个这样使用的输入组件:
<Input type='text'
label='Name'
name='name' value={this.state.name}
onChange={this.handleChange.bind(this, 'name')}
maxLength={16 } />
我围绕该 React 组件创建了一个 Reagent 组件,如下所示:
(def input (reagent/adapt-react-class (.-Input js/ReactToolbox)))
这样我就可以像这样使用它:
[reagent-toolbox.core/input {:label "Name"
:name "name"
:type "text"
:value @name
:max-length 16
:on-change (fn [value event] (reset! name value))}]
但与 React 版本不同的是,在 Reagent 版本中,输入上的每次按键都会导致组件重新渲染,从而使光标跳到末尾。您可以在这里体验这种效果:http ://reagent-toolbox-docs.dashman.tech/input
我做错了什么?我错过了什么?