2

React Toolbox for ClojureScript/Reagent と呼ばれる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

私は何を間違っていますか?私は何が欠けていますか?

4

1 に答える 1