как получить доступ к history
реквизиту из mapDispatchToProps
import { withRouter } from "react-router-native";
const mapDispatchToProps = (dispatch, ownProps) => ({
doSomething: () => ownProps.history.goBack() // history is undefined ...??
})
export default withRouter(connect(undefined, mapDispatchToProps)(MyComponent))
более понятно, как получить доступ к react-router
контекстным реквизитам из connect
mapDispatchToProps
метода, docs говорит:
Если ваша функция mapDispatchToProps объявлена как принимающая два параметра, она будет вызываться с диспетчеризацией в качестве первого параметра, а реквизиты, передаваемые подключенному компоненту в качестве второгопараметр
Обновление:
Вот что react-router
документы говорит об этом
В большинстве случаев вы можете использовать Link, NavLink и Redirect для выполнения действий навигации.Иногда вам также может понадобиться выполнить программную навигацию после некоторой асинхронной задачи, которая первоначально была инициирована действием.Например, вы можете отправить действие, когда пользователь отправляет форму входа.Затем ваш обработчик thunk, saga или другой асинхронный обработчик аутентифицирует учетные данные, после чего ему необходимо каким-то образом перейти на новую страницу в случае успеха.Решение здесь состоит в том, чтобы просто включить объект истории (предоставленный всем компонентам маршрута) в полезную нагрузку действия, и ваш асинхронный обработчик может использовать его для навигации, когда это необходимо.
, очевидно, нетподдержка внешнего контекста внутри подключенного компонента, и необходимо найти правильную работу вокруг.