React報錯 You provided a `value` prop to a form field without...

報錯內容

Failed prop type: You provided a `value` prop to a form field without an `onChange` handler. 
This will render a read-only field. If the field should be mutable use `defaultValue`. 
Otherwise, set either `onChange` or `readOnly`.

<PhoneInput
  key={key}
  label={item.label}
  name={key}
  disabled
  // readOnly
  value={this.state[key]}
  interCodeValue={this.state.intercode}
/>

緣由

緣由是由於input標籤,沒有定義onChange 可是提供了value屬性。React會拋出警告,並將元素設置爲只讀。ide

若是目標是隻讀字段,最好使用readOnly屬性明確加以定義。這不只會消除警告,也會確保代碼的可讀性。this

解決:

能夠添加readOnly={true} ,或者直接添加readOnly屬性,而不設置值,React會默認將該屬性的值設爲true。spa

相關文章
相關標籤/搜索