私はReact Native 0.43を使用しています。私はApiComponent
という名前のコンポーネントを持っています。このコンポーネントのcomponentWillMount
メソッドでは、APIからいくつかの結果を取得しています。この結果をrender
メソッドで取得します。私は私のコンポーネントに次のコード(要約版)を使用しています:React:いくつかのライフサイクルメソッドを他のものよりも確実に完了させる方法
export default class ApiComponent extends Component {
constructor(props) {
super(props);
this.state = {
statement: {},
};
}
componentWillMount() {
fetch('http://example.com/api_url/')
.then(response => response.json())
.then(data => this.setState({ statement: data }))
.catch(error => console.error(error));
}
render() {
return (
<Text>{'Rendering API: ' + console.log(this.state.statement)}</Text>
);
}
}
、私はこのコードを実行したとき、私は私のコンソールRendering API: {}
で空の結果を取得します。私の理解によると、render
メソッドは、結果がAPIから返される前に実行されるため、状態は結果で更新されていません。
私のcomponentWillMount
のコードが実行を完了したときに私のrender
メソッドが実行されることを私は確信できますか?
ある場合は、あなたのフェッチでは、構文エラーを持ってレンダリングすることを確認するために三項演算を使用することができます。 URLの最後にある引用符を閉じます。 –
ありがとう、私はそれを修正しました。それはちょうどここの構成誤差でした。 –