gpt4 book ai didi

redux - 可以向 redux store 添加辅助方法吗?

转载 作者:行者123 更新时间:2023-12-02 08:14:46 26 4
gpt4 key购买 nike

我正在制作一个 SVG 图表,我有一堆辅助方法可以在坐标和日期之间进行转换。目前我需要在任何地方应用缩放,这很烦人,所以我正在考虑将辅助方法添加到 redux 存储中,其中存储可以访问缩放并可以在方法中自动应用它。

这是理想的吗?

我也在考虑创建一个函数,它采用缩放,并返回所有带有缩放的辅助方法。如果我这样做,那么我需要在我使用它的每个文件中重新实例化这个柯里化(Currying)函数,每次都通过秤。

使用 redux store 我只需要做一次。

编辑:更多细节

限制:“store”不可访问,可能在中间件之外。

转换

getDateFromX(x) / scale

只是

getDateFromX(x)

函数中内置了比例尺。就像,getDateFromX 总是按比例划分,所以它应该在函数中,但比例在 redux 存储中。

我最初问我是否可以让我的应用程序 reducer 在它返回的对象“getDateFromX”中返回一个函数,该函数可以通过连接中的 mapStateToProps 获取。我知道这是不受欢迎的,否则我不会问最初的问题,我会简单地实现这个。

此外,还有大约 7 个函数可以进行类似的转换。在小时、天、日期和 x 之间转换。

最佳答案

没有。我猜,从技术上讲,您可以做到这一点,但这绝对不是 Redux 的好用法。 (我实际上很难想象“附加到商店的方法”实际上如何适应事物。)

更惯用的方法是使用选择器函数。例如:

import {createSelector} from "reselect";

const selectScale = state => state.scale;

const selectSomeValue = state => state.someValue;

const selectScaledValue = createSelector(
selectScale, selectSomeValue,
(scale, somevalue) => scale * someValue
);

如果您一直在 mapStateToProps 函数中使用 selectScaledValue(),那么每次 比例或原始值发生变化。

关于redux - 可以向 redux store 添加辅助方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42907811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com