问题标签 [unstated]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 避免未声明的存储重新初始化
我正在尝试unstated
(https://github.com/jamiebuilds/unstated)并且喜欢它的简单性,但遇到了意外的行为。在顶层,我有:
然后沿着我的组件树,我再次使用这样的东西访问商店:
只要我的树保持不变,这就会很好。一旦我有需要重建叶子的状态更改,我的数据容器中的状态对象就会重新初始化并清除。我究竟做错了什么?
react-native - React Native 中未声明和 React 导航的问题
我有这个功能
如果我像上面那样运行它,导航就可以了。如果我取消注释 store.flipState() 行,状态会发生变化,但导航不起作用(屏幕只是刷新)。console.log 在这两种情况下都有效。
如何同时更改状态和导航?
我在 React Native 中使用 Unstated 和 React Navigation。
谢谢你。
javascript - Unstated 无法读取未定义的属性“setState”
我正在使用一个名为unstated的状态库,当我运行以下代码时:
我收到此错误:
TypeError:无法读取 Store.js:19 处未定义的属性“setState”
docs
在我想设置状态时,我肯定会得到结果,因为它确实包含对象。我的做事方式也与他们在文档/示例中的方式完全相同。
为什么没有this
看到参考?是因为它在承诺中吗?嗬!
reactjs - 如何在渲染方法之外使用未说明的反应?
我在我的项目中使用 ustated 库。
在渲染方法中,我是这样使用set
的:
我如何调用api.setMessage
渲染的外部?例如在componentDidMount
?
ApiSubscribe 是:
reactjs - Unstated.js 访问其他容器中的容器
我刚刚开始研究未说明的内容,并且遇到了一个我还找不到答案的问题。
假设我有两个容器:
- 集装箱A
- 集装箱B
如果我想在 ContainerA 中访问 ContainerB 的状态,甚至在 ContainerA 中调用 ContainerB 的方法,该怎么办?
到目前为止,我看到的唯一方法是调用 ContainerA 方法并手动传递 ContainerB 实例作为单独的参数,这似乎非常糟糕和重复,因为我可能需要在多个地方做同样的事情......
reactjs - 使用 API 调用 unstated.js (React Context API) 初始化容器
我想使用unstated.js(React 上下文包装器)使用来自 api 调用的数据简单地初始化容器状态。
我看到了一个例子,其中 Container 是用几个 var 实例化的:
如果我想获取一些 api 数据以传递到此容器的状态 - 这是正确的方法吗?或者我应该从父组件传递道具?这是为了在首次加载时将数据加载到 SPA 中。
reactjs - React - 您可以从外部函数更新未声明的容器状态吗?
在来自 Unstated 库的示例中,它们通过与订阅容器的 jsx 按钮交互来更新容器内的状态。
有没有办法从容器外部组件中的函数更新容器内的状态?因此,例如,如果我想在返回承诺期间更新状态,我将如何去做。伪代码
reactjs - 将 Unstated 与 TypeScript 和 React 一起使用,如何在其中获取类型化的容器实例孩子们?
在我的 React 应用程序中,我使用Unstated来管理共享状态,但是我在使用 TypeScript 时遇到了问题:<Subscribe>
组件向我传递了一个类型为Container<any>
. 这意味着它需要转换为我自己的类型,例如Container<MyState>
,在我可以安全地使用它之前。
相反,如果我希望 Unstated 将我的容器的已键入实例传递给我,我应该如何包装和/或分叉Unstated 源和/或其类型文件,以便当我获取Container
实例时,它的类型为Container<MyState>
?
顺便说一句,我想要获得传入的类型化容器的特殊原因是,我可以使用复杂状态的解构,而不必切换到使用更冗长的胖箭头函数的块形式。
这是我希望能够编写的代码的简化示例:
这是我当前的编写方式,在使用 TypeScript 的简化未说明示例中:
react-router-v4 - 将 React Router 与 Unstated 集成
以下代码(其中每个组件包含<Subscribe to={[ZebraContainer]}>
)会导致 ZebraContainer 被构建三次。是否有一种公认的模式可以将 ZebraContainer 维护为全局单例并且只构造一次?
javascript - Unstated (React) 中的条件
我正在学习在我的反应应用程序中实现 Unstated。
我制作了一个简单的应用程序,它使用 Unstated 显示注释。
这是我的 NoteContainer:
如您所见,这非常简单,它只是更改状态中的 isDisplaying 属性,以便我可以在 Note.js 组件上使用它来显示注释的标题和消息,如下所示:
所需的功能是,当我单击查看注释时!按钮,它显示按钮上方注释的标题和描述,如果我再次单击它,它会隐藏它们。
但是,我得到的是它创建了另一个订阅组件,这似乎删除了“见注!” 按钮部分。这是结果的图像。
问题是我不能再次使用按钮来隐藏注释信息,我显然使用了错误的订阅组件,但我想不出另一种方法来使用未声明的条件,所以对此的任何帮助将不胜感激。
在此先感谢,祝您度过愉快的一周!