我发现自己处于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时,如何在将数据添加回组件道具之前更新数据?
我遇到了this link,其中展示了如何从查询中更新数据,但我没有看到很多使用它的示例,所以我想知道我是否遗漏了一些基本的东西?
所以我的问题是,如上所述,使用辅助函数的最佳方法是什么?
由于