我发现自己处于React / Redux应用程序的情况下,我需要很多函数来转换数据,当它从服务器返回时使用像moment或jwtDecode这样的库 . 例如:

function mapDispatchToProps(dispatch) {
    return {
        getAllTokens: () => {
            dispatch(getAllTokens());
        }
    };
}

在页面加载时,我运行 this.props.getAllTokens() 以从存储在数据库中的服务器返回所有令牌,我想在页面上显示(例如) .

调度使用Redux Thunk对数据执行某些操作并发送到商店:

export const getAllTokens = () => dispatch => {
    apiGetAllUsers()
        .then(tokens => {
            let newFormat = tokens.message.map(token => {
                if (token.refreshToken) {
                    let decoded = jwtDecode(token.refreshToken);
                    let expiresIn = moment.unix(decoded.exp).fromNow();

                    return {
                        refreshToken: token.refreshToken,
                        email: token.email,
                        expiresIn
                    };
                }
            });
            dispatch(adminTokensReceived(newFormat));
        })
};

此函数 getAllTokens 在另一个文件中,以帮助组件保持精简 . 这种方法适用于Redux,但是当涉及到使用Apollo时,如何在将数据添加回组件props之前更新数据?

我遇到了this link,它显示了如何从查询中更新数据,但是我没有错过一些基本的东西?

所以我的问题是,如上所述,使用辅助函数的最佳方法是什么?

谢谢