Ich versuche, Daten von meinem API abzurufen und legen Sie es im _Data-Status; Ich bekomme jedoch _data immer als undefiniert. Zuerst ziehe ich ein Token aus Asyncstorage vor dem Abrufen und dann möchte ich die Daten vom Abrufen in den Status speichern. Kann jemand bitte überprüfen, ob ich etwas falsch mache?React Native - Daten werden nicht in den Status beim Abrufen
export default class Posts extends React.PureComponent {
constructor(props) {
super(props);
this.fetchData = this._fetchData.bind(this);
this.state = {
isLoading: true,
isLoadingMore: false,
_data: null,
accessToken: "",
};
}
async componentWillMount() {
try {
let accessToken = await AsyncStorage.getItem(ACCESS_TOKEN).then(JSON.parse);
if(!accessToken) {
this.redirect('login');
} else {
this.setState({accessToken: accessToken})
}
} catch(error) {
console.log("Something went wrong");
this.redirect('login');
}
this.fetchData(responseJson => {
const data = responseJson.data;
this.setState({
isLoading: false,
_data: data,
});
});
}
_fetchData(callback) {
fetch(`https://mywebsite.com/posts`,
{
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': "Bearer " + this.state.accessToken.token,
}
})
.then(response => response.json())
.then(callback)
.catch(error => {
console.error(error);
});
}
Froh, dass dies funktioniert! – nocarrier