gpt4 book ai didi

reactjs - 与 3rd 方脚本安全地共享 Redux 状态

转载 作者:行者123 更新时间:2023-12-05 07:47:25 25 4
gpt4 key购买 nike

与第 3 方脚本共享 redux 存储状态是否有好的/坏的做法?目前,我们正在使用 cookie 向 3rd 方脚本提供一些状态信息(非敏感状态信息)。但是,我们知道该应用程序的真实来源是 redux 商店。因此,为了与 redux 的核心原则保持一致,您有什么建议吗?

这是一个例子。因此,我们有一些遗留脚本需要与我们的 react-redux 应用程序并行运行,并且它们当前在执行之前读取一些 cookie。例如,假设我们有一个名为“username”的 cookie,它的值为“john”。第 3 方脚本读取该 cookie,如果该值等于“john”,它会执行某些操作。

在内部,我们的 react/redux 应用程序使用 reducers/actions 读取/设置此 cookie,但第三方脚本不是 redux,只需要知道此“名称”值,并在其更改时收到通知。

我在想我们可以创建一些 react 模块来提供状态树的切片并使它们在窗口中全局可用。

redux-watch 库似乎也很有用:https://github.com/jprichardson/redux-watch

最佳答案

为此您不需要 react 模块。您的 3rd 方脚本可以简单地订阅商店以获取更新:

store.subscribe(() => {
const username = usernameFromState(store.getState());
// run the 3rd party code with the username
});

我不明白为什么这不应该成为问题。我认为 3rd 方脚本将操作发送到商店甚至是可以的,正如您所说的商店“是应用程序的唯一真实来源”。第 3 方脚本是该应用程序的一部分。

关于reactjs - 与 3rd 方脚本安全地共享 Redux 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39770893/

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