【发布时间】:2017-07-14 23:19:20
【问题描述】:
我正在为 ClojureScript/Reagent 的 React Toolbox 编写一个包装器,名为 Reagent Toolbox。在 React Toolbox 中,an input component 是这样使用的:
<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
我做错了什么?我错过了什么?
【问题讨论】:
标签: reactjs clojurescript reagent react-toolbox