現在、Reactでフォームを作成しています。オブジェクトのフィールドをプリフィルするためのベストプラクティスが何であるか不思議です。Reactで制御された入力を設定する
Warning: `value` prop on `input` should not be null. Consider using the
empty string to clear the component or `undefined` for uncontrolled
components.
はどこ空を提供するために、適切な場所である:this.state.resource.email
がnullまたは未定義の場合、私は制御コンポーネントに値としてそれらを提供したくない反応するので
import React, { Component } from 'react'
class EditResourceForm extends Component {
constructor (props) {
super(props)
this.state = {
resource: props.resource
}
}
handleFieldChanged (e) {
// update state
}
render() {
return (
<input
type="text"
value={this.state.resource.email}
onChange={::this.handleFieldChanged} />
)
}
}
私は、問題が発生しています文字列をnull
値のフォールバックとして使用しますか?これは、親コンポーネントのコンストラクタメソッドで行う必要がありますか? null
の値を持つ可能性があるすべての属性に対して、これを明示的に行う必要を避ける方法はありますか?
は正確にあなたがしているとして、それを実行します。今すぐ 'resource:props.resource'を' resource:props.resource || 'に設定してください* props.resource *が空の場合、エラーは発生しません。 –