У меня есть функция загрузки, которая загружает мои данные в мой источник данных ListView, и, как вы, возможно, знаете, ListView не всегда будет повторно выполнять рендеринг с изменением состояния, и мне нужно принудительно обновить его, эта функция загрузки работает очень хорошо, вызывается кнопкой, но я хочу, чтобы она загружалась автоматически, но вызов forceupdate недоступен в функциях componentwill / did mount. Что я могу сделать? Я просто хочу, чтобы моя функция вызывалась с небольшой задержкой после рендеринга. проблема в том, что this.props.navigation не является объектом до рендеринга и не может использоваться при монтировании / монтировании компонента.
// UNSAFE_componentWillMount() {
// this.makeScene();
// }
makeScene(){
var count = Object.keys(window.contents[this.props.navigation.getParam('name')]).length;
for(let i = 0 ; i < count ; i ++){
global.subnum[i] = i;
global.lowersubjects[i] = window.contents[this.props.navigation.getParam('name')][i].subject;
global.lowerdescriptions[i] = window.contents[this.props.navigation.getParam('name')][i].description;
global.lowerimageurl[i] = window.contents[this.props.navigation.getParam('name')][i].imageurl;
global.author[i] = window.contents[this.props.navigation.getParam('name')][i].author;
global.eventdate[i] = window.contents[this.props.navigation.getParam('name')][i].eventdate;
}
this.setState({
subnum : global.subnum
});
this.forceUpdate();
}
раскомментирование приведет к тому, что кнопки моего приложения и рендер перестанут работать.