Доступ к состоянию и диспетчеризации в обратном вызове Redux Connect - PullRequest
1 голос
/ 26 июня 2019

У меня есть функция, которая связывает состояние и диспетчеризацию с функцией.Например:

function bindStateToGetFoo = (state, dispatch) => (arg1, arg2) => {
  const { val1, val1 } = state;
  dispatch(createAction());
  ...
};

Я делаю это, потому что не хочу дублировать код в mapStateToProps и mapDispatchToProps.Функция используется в нескольких компонентах.Это чище:

connect(
  state => ({
    someFunction: bindStateToSomeFunction(state),
  }),
  dispatch => ({
    anotherFunction: bindDispatchToAnotherFunction(dispatch),
  }),
);

Однако, когда функция требует и состояния, и отправки, я не знаю, как с этим справиться.Есть ли способ получить доступ и к состоянию, и к отправке в обратном вызове Redux connect?

1 Ответ

0 голосов
/ 26 июня 2019

Не могли бы вы сделать что-то подобное?

function createDispatcherAndSelectorFunctions(...args) {
    return {
         dispatcher: (id, name) => ({
            type: "MY ACTION"
            payload: {
                id, name
            }
         }),              
         selector: (state) => state.foo
    } 
}


const {dispatcher, selector} = createDispatcherAndSelectorFunctions("hello world"); 

connect(
    state => ({
        data: selector(state), 
    }), 
    dispatch => ({
        fn: (id, name) => dispatch(dispatcher(id, name))
    })
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...