Как заменить bindActionCreators и использовать mapDispatchToProps и mapStateToProps - PullRequest
0 голосов
/ 17 декабря 2018

Мы вызываем API, используя bindActionCreators, и каждый раз, когда мне нужно использовать this.props для публикации и получения данных.

Проблема в том, что мне нужно сохранить данные ответа в некоторой переменной и получить к ней доступдо this.props.variable.Например:

export default withStyles(styles, { withTheme: true })(connect(  
    state => state.sensi,
    dispatch => bindActionCreators(actionCreators, dispatch)
)(FetchSensi));

Как я могу это сделать?

1 Ответ

0 голосов
/ 17 декабря 2018

mapStateToProps

const mapStateToProps = state => ({
  variableName: state.someVariableFromState
});

, и я не использую mapDispatchToProps, я передаю действие непосредственно для подключения вот так

import {action1, action2} from './someActionFolder';

export default connect(mapStateToProps, {action1, action2})(YourComponent);

и внутри вашего компонента вы можетеиспользуйте свои действия, например

this.props.action1();
this.props.action2();

, вы также можете комбинировать все свои действия, например

import * as actions from './yourActionsFolder';
export default connect(mapStateToProps, actions);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...