我正在为ClojureScript/Reagent 写React Toolbox的包装。在阵营工具箱,有是一个的像这样使用an input component:如何使用试剂在ClojureScript上进行适当的双向结合?
<Input type='text'
label='Name'
name='name' value={this.state.name}
onChange={this.handleChange.bind(this, 'name')}
maxLength={16 } />
我创造了这样的周围做出反应成分试剂成分:
(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
Whan am I doing wrong?我错过了什么?