イメージコンポーネントを作成していて、コンポーネント受信プロンプトに固執しています。ここで 初期状態をcomponentwillreceivepropsで設定しますか?
はclass ImageField extends React.Component {
constructor(props) {
super(props);
this.state = {
image: '',
imagePreviewUrl: '',
};
}
componentWillReceiveProps(newProps){
if (newProps.content === this.props.content) {
return;
}
this.setState({
image: this.props.content
}, function() {
console.log(this.state.image)
})
}
私はcomponentWillReceiveProps火災がそれにthis.state.imageを設定する必要があることのImageFieldコンポーネントにJSONのブロックを送信フォームを反応させるんだ...コンポーネントの要旨ですjsonブロック。
それを設定したことがない、それはそれはthis.state.image
ためundefinedを返しますCONSOLE.LOG当たったとき、私はthis.setStateをすれば今回、それはthis.state.imageが、ドン」にJSONを書き込み、しかし、おそらくそれをやって間違った方法であるので、それをやりたい。
こんなことはどうしたらいいですか?
'this.setState({image:newProps.content}、...})'ではいけませんか? 'this.props'で設定します。これは' componentWillReceiveProps'で設定される前に未定義です。 – margaretkru
this.newProps.contentをsetStateに入れたくありませんか? newPropsには、渡された値が含まれます。 – bluesixty