У меня есть этот простой код.
export default class ProductDetail extends Component {
constructor(props) {
super(props);
this.state = { test: null,id:this.props.navigation.state.params.productId };
console.log(1);
}
componentWillMount() {
console.log(2);
this.getProductRequest(this.state.id);
console.log(3);
}
async getProductRequest(id) {
try {
let api_token = await AsyncStorage.getItem('apiToken')
let response = await fetch('...')
let json = await response.json();
this.setState({test: json});
} catch(error) {
//
}
}
render() {
console.log(4);
console.log(this.state.test);
return (
<View><Text>test</Text></View>
);
}
}
Теперь я проверил это в отладчике:
Ожидаю такой результат:
1
2
3
4
{data: {…}, статус: "success", ...}
Но я получаю это:
1
2
3
4
1031 * пустой *
4
{data: {…}, статус: "success", ...}
Я думаю, что это означает, что render () запускается дважды!
как мне справиться с этой ошибкой?