2016-06-18 44 views
3

這裏是我的無狀態的反應成分:爲什麼此組件從受控制切換到非受控制? - 陣營

export default ({acresMin, update}) => (
    <div> 
     <input 
      onChange={(e) => update({'acresMin': e.target.value})} 
      placeholder="10" 
      type="text" 
      value={acresMin}/> 
    </div> 
) 

當我更改input的價值,我得到這個warning

Warning: StatelessComponent is changing an uncontrolled input of type text to be controlled. Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component.

我有onChange更新和保存值store正在填充通過props

我對此不甚瞭解?

回答

7

非受控輸入不直接引用您的組件,而是引用組件中定義的輸入字段。

陣營分化帶來controlleduncontrolled components之間:

<input>沒有價值屬性是不受控制的成分

是您acresMin財產undefined當你第一次呈現組件?這會導致輸入首先被渲染爲不受控制的輸入,但是在設置屬性後會作爲受控制的渲染。

相關問題