ユーザーに関連するデータを取得するAPI呼び出しを行うコンポーネントがあります。ここに私のコードは、だラインA
でリアクション内のレンダリング関数の内部状態がヌルである
class Header extends React.Component {
constructor(props) {
super(props);
this.state = { user: null };
}
componentDidMount() {
getUserData(xobni_api).then((data) =>{
this.setState({user : data});
console.log(this.state.user);//A
});
}
render() {
return (
<div className="header">
<Masthead user={this.state.user.fullName} />//B
<PrimaryNav/>
</div>
);
}
}
export default Header;
ラインでB
ユーザーがnull
であると私はエラーを取得していながら、私は、ユーザーの詳細をレンダリングすることができます。私は何が欠けている。私はcomponentDidMount()
とcomponentWillMount()
の両方でAPI呼び出しを試みました。どんな助けもありがたい。
は、エラー・ログを含めることはできますか? –
おそらく、起こっているのは、あなたの子コンポーネントが、あなたのajaxリクエストが実行される前にレンダリングされているということです。たぶん、compomentWillReceivePropsを使って助けてくれるでしょう。 – misdreavus79