0
Reactで非常に奇妙なエラーが発生しています。コンポーネントには、2つのパラメータがnullとして渡されています。ここでは、親コンポーネントのコードは次のとおりです。反応コンポーネントに渡された後に小道具がヌルになる
return (
<div>
{postUpvoteCount} {postUpvoteId}
<div className='col-xs-1 col-sm-1 comment-upvote'><Upvote upvoteId={postUpvoteId} upvoteCount={postUpvoteCount} userId={userId} postId={postId} commentId='-1'/></div>
</div>
);
あなたは私がpostUpvoteCountとpostUpvoteIdの値が右Upvoteコンポーネントにそれを渡す前に定義されていることを確認してください見ることができるように。しかしUpvoteコンポーネントのコンストラクタで彼らがnullのとき:
constructor(props){
super(props);
console.log(this.props);
this.state = {
upvoteId: this.props.upvoteId,
upvoteCount: Number(this.props.upvoteCount),
commentId: this.props.commentId,
postId: this.props.postId,
userId: this.props.userId,
upvoted: Boolean(this.props.upvoteId)
};
}
私は小道具上にconsole.log呼び出す
は、私がthis.props.upvoteCountと、このためにはnullを取得しています。 props.upvoteId。これはどのように可能ですか?
APIリクエストでデータを非同期で取得していますか?次に、コンポーネントが初期化されるときにデータがまだロードされていないので、 'componentWillReceiveProps()'を変更するたびに 'setState'する必要があります。 –
それはそれを修正しました!ありがとう、それを答えとして追加して、それを正しくマークしますか? – user1023465
確かに、私は助けてうれしい! –