Так что в основном иногда, когда я прокручиваю страницы между React-роутером и пытаюсь перейти на страницу с асинхронным кодом, который запускается при запуске жизненного цикла (componentDidMount), он выдает мне сообщение о том, что вы не можете отобразить состояние'null'.
вопрос в том ... как я могу предотвратить это при переходе между страницами?
Пример (панель инструментов)
class Dashboard extends Component {
componentDidMount() {
this.props.fetchMovies();
this.props.fetchSeries();
}
handleFetchMovies() {
if(this.props.assets.fetchMoviesError) {
return (
<div className="loading">
<h1>{this.props.assets.fetchMoviesError}</h1>
</div>
);
} else if(this.props.assets.loadingMovies) {
return (
<div className="loading">
<h1>Loading...</h1>
</div>
);
} else {
return this.props.assets.latestMovies.map(movie => {
const movieURL = movie.title.split(' ').join('+').toLowerCase().trim();
return (
<div className="latest" key={movie._id}>
<Link to={`/movie/${movieURL}`}>
<div className="asset-cover" style={{ backgroundImage: `url(${movie.poster})` }}></div>
</Link>
<h1><Link to={`/movie/${movieURL}`}>{movie.title}</Link></h1>
<Link to={`/sort/years/${movie.year }`}>{movie.year}</Link>
</div>
)
}
)
}
}
всякий раз, когда я иду из этогостраницу на другую страницу и попробуйте вернуться к ней, там написано
this.props.assets.latestMovies.map не является функцией
, потому что функция componentDidMount нене работает.