РЕДАКТИРОВАТЬ: Я добавил исходный код для примера приложения React / Redux, который использует axios
и redux-thunk
для получения данных из API.
Используете ли вы connect()
из react-redux
для компонента Страница персонажей?
Если нет, вы можете сделать следующее:
import { connect } from 'react-redux'
const CharactersPage = props => {
// You can retrieve your data from props.characterData
return ...
}
const mapStateToProps = state => {
return { characterData: state.characterData }
}
export default connect(mapStateToProps)(CharactersPage)
Это должно решить проблему сбоя вашей страницы персонажей при перезагрузке, потому что на ней нет данных.
И если вам действительно нужно перенаправить пользователей на страницу /
, вы можете использовать объект history
. Он автоматически передается, когда вы настраиваете свои маршруты, используя <Route>
из react-router-dom
, учитывая, что вы настроили свой маршрут следующим образом:
<Route path='/characters' component={CharactersPage} />
Если вместо этого вы используете render={}
, вы можете получить объект history
, выполнив:
<Route path='/characters' render={routeProps => <CharactersPage {...routeProps} />} />
Надеюсь, это поможет!