我正在爲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?我錯過了什麼?