Можно отправить действие без подключения? - PullRequest
0 голосов
/ 14 сентября 2018
export default class App extends Component {
...
  componentDidMount() {
    //registering event listener
    BackgroundGeolocation.on('location', this.onLocation, this.onError);
  }

  onLocation(location) {
   //wishing to dispatch an action to update variable in store
  }

  render() {
    return (
      <Provider store={store}>
        <AlertProvider>
          <MainNavigator screenProps={{ isConnected: this.state.isConnected }} />
        </AlertProvider>
      </Provider>
    );
  }
}

Насколько я понимаю, я не могу подключиться к хранилищу в этом компоненте, так как мы только настраиваем и передаем хранилище в Provider.Как я могу отправить действие в моем onLocation событии?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Вы можете использовать этот код и добавить конструктор в класс следующим образом

  constructor(props) {
    super(props);
  }

  onLocation() {
    this.props.dispatch({type: GET_THINGS_REQUESTED, payload: value});
  }
0 голосов
/ 14 сентября 2018

Вы можете отправить напрямую, используя объект хранилища.

store.dispatch({type:"UPDATE_VARIABLE", payload:variable.value})

Если вы находитесь в каком-либо другом компоненте, где объект хранилища недоступен, экспортируйте его из основного компонента и импортируйте в место, где оннеобходимо и используйте приведенное выше утверждение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...