или не создавать его как функцию, а просто как объект

я сделаю свой собственныйmapDispatchToProps функция не работает Если я даю простой объект для соединения, тогда он работает, но мне нужна функциональность отправки ... например, для загрузки переводов на страницу, я что-то здесь не так делаю?

const mapStateToProps = (state) => { 

    const { isFetching, lastUpdated, items, errors } = state.transactions; // fetch from redux state ;)

    return {
        translate: getTranslate(state.locale),
        isFetching,
        lastUpdated,
        items,
        errors
    }
} 
const mapDispatchToProps = dispatch => {

    return { 
        fetchTransactionsIfNeeded, 
        invalidateList 
     }
}
export default connect(mapStateToProps, mapDispatchToProps)(Transactions);

Код ниже работает

const mapStateToProps = (state) => { 

    const { isFetching, lastUpdated, items, errors } = state.transactions; // fetch from redux state ;)

    return {
        translate: getTranslate(state.locale),
        isFetching,
        lastUpdated,
        items,
        errors
    }
} 

export default connect(mapStateToProps, { 
       fetchTransactionsIfNeeded, 
       invalidateList 
})(Transactions);
 Sajith Dilshan25 дек. 2017 г., 15:58
Вы получаете какие-либо ошибки в консоли?
 webmaster27 дек. 2017 г., 15:30
нет я не получаю никаких ошибок

Ответы на вопрос(1)

[mapDispatchToProps (dispatch, [ownProps]): dispatchProps] (объект или функция): Если объект передается, предполагается, что каждая функция внутри него является создателем действий Redux. Объект с теми же именами функций, но с каждым создателем действия, включенным в диспетчерский вызов, чтобы их можно было вызывать напрямую, будет объединен в подпорки компонента.

Если функция передана, ей будет передана диспетчеризация в качестве первого параметра. Вы должны вернуть объект, который каким-то образом использует диспетчеризацию, чтобы связать создателей действий по-своему. (Совет: вы можете использовать помощник bindActionCreators () из Redux.)

В первом случае, когда вы реализуете mapDispatchToProps, вы возвращаете простой объект, но вам нужно использовать диспетчеризацию в нем, поскольку он не предполагается как создатель действия сам по себе при помощи редуктора.

Вы бы реализовали это как

const mapDispatchToProps = dispatch => {

    return { 
        fetchTransactionsIfNeeded: (...args) => {
               dispatch(fetchTransactionsIfNeeded(...args))
         }, 
        invalidateList: (...args) => {
               dispatch(invalidateList(...args))
         },
     }
}

или не создавать его как функцию, а просто как объект

const mapDispatchToProps = { 
       fetchTransactionsIfNeeded, 
       invalidateList 
}

Ваш ответ на вопрос