问题标签 [react-redux]
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.
javascript - redux-react 简单的你好世界
我是 redux 的新手 - 为什么不mapStateToProps
被调用并且组件更新以显示“hello world”?
reactjs - 在一些关于 ReactNative 和 Redux 和 Navigator 的概念上需要帮助
在这个场景中经过几次测试后,我有一些我自己无法回答的问题,所以我请求帮助澄清我的概念。
- Navigator 中的提供者与道具
有什么区别以及设置 Navigator 并将 store 传递到 React Native 应用程序的不同场景的最佳方法是什么
MainContainer
与Component
react-reduxconnect
函数内连接,将 Props 和 Actions 传递给props
.
是更好地访问上下文还是道具?
对比
- 在组件场景中,(不包装为智能容器)如何设置有关redux 状态更改的侦听器或让我将组件状态绑定到 redux 状态。
传递state
(Redux 存储) 和push in时actions
一样,然后派发动作并正确执行,状态是更新,但是......不会重新渲染场景。passProps
newScene
Navigator
newScene
我是否必须将状态组件绑定到 Redux 状态才能看到屏幕上反映的更改?
在这种情况下是否有任何关于最佳实践的示例?
props
vsconnect
在同一Scene
同样Scene
,从Top 到 Down 组件,这是传递redux state
(不是谈论component state
)作为将组件包装在一个'smart' container
with ' connect
' from中的最佳方法react-redux
,或者传递洞方案为props
.
reactjs - 来自组件的 React-Redux 调度操作
我正在尝试通过单击按钮来调度一个动作。
我已经创建了我的组件。我将它连接到由 Provider 向下传递给组件的商店。但我收到一个错误:
未捕获的 TypeError:this.doSearchClick 不是函数
我有我的进口:
我的组件:
不确定这是否需要:
最后是connect
东西:
在顶层,我通过 Provider 将商店向下传递:
我还尝试通过上下文访问商店(不起作用并且可能已弃用)以及使用@connect
属性(给我一个类似的错误)来实现这一点。
redux - ES5 中最简单的 Redux-React 应用程序:为什么不传递 props?
我正在尝试构建最简单的 Redux 应用程序。我有一个初始状态,我创建了一个 Redux 存储,我将存储传递给 ReactRedux.Provider,并且我的应用程序作为 Provider 的子级。
但是,我的 APP 视图,写成一个无状态的功能组件,没有收到任何道具。(如果我在方法中使用React.createClass
和检查来编写我的 APP 视图,情况也是如此。)this.props
render
我究竟做错了什么?
javascript - 如何在 Redux 中显示一个执行异步操作的模态对话框?
我正在构建一个需要在某些情况下显示确认对话框的应用程序。
假设我想删除一些东西,然后我会分派一个动作,deleteSomething(id)
这样一些减速器将捕获该事件并填充对话框减速器以显示它。
当这个对话框提交时,我的疑问就来了。
- 这个组件如何根据分派的第一个动作来分派正确的动作?
- 动作创建者应该处理这个逻辑吗?
- 我们可以在 reducer 中添加动作吗?
编辑:
为了更清楚:
所以我试图重用对话框组件。显示/隐藏对话框不是问题,因为这可以在减速器中轻松完成。我要指定的是如何根据在左侧启动流程的操作从右侧分派操作。
javascript - 应用 API 响应转换的最佳位置
在异步操作创建器中,我从服务器获取数据。对于我的用例,数据的格式不是很好,我需要对其进行转换以在 UI 中使用它。
问题:我应该
在使用转换后的数据发送成功操作之前转换数据?
/li>使用原始数据发送成功操作并将其存储为,并在内部进行转换
mapStateToProps
?使用原始数据发送成功操作并在 reducer 中进行转换?
在1.中,数据会在我需要的时候进行转换,在我看来它解耦了 API 数据格式和我的 Redux 存储。但是转换逻辑在数据获取操作中。
在2.中,异步操作创建者保持简单,完全没有逻辑,映射发生在 UI 层。但这意味着我需要使用 reselect 之类的东西来优化它,因为mapStateToProps
每次渲染都会调用它。
在3.中,异步操作创建者保持简单,完全没有逻辑,但操作与 API 数据格式耦合。
我会选择1。(无论如何都要对转换进行单元测试),但我并不完全满意。有什么建议吗?谢谢 !
- 编辑:由于这个问题是一个自以为是的答案,我有点在这里回答我自己。由于评论中所述的所有原因和答案之一,我将选择1. 。
reactjs - 构建 React/Redux 应用程序
使用 redux 和 react 制作单页应用程序,首先要做的是什么?先用redux创建我的状态逻辑还是让所有组件先反应?
react-native - Redux减速器抛出间歇性错误
我有一个在 IOS 模拟器中运行的本机应用程序。在初始化期间,它读取 Parse 数据库并使用以下 reducer 填充 redux 数据存储:
当我重复运行该应用程序时,它大约有 3 次失败,并出现以下 redux-logger 错误:
请注意错误如何指出 itemId 为空,但该操作实际上包含非空 itemId。下一个状态似乎是正确的,但应用程序在遇到此错误后无法恢复(不幸的是,它不会抛出带有附加信息的红屏)。
我还捕获了相同的 redux-logger 事件,显示相同的操作而没有任何错误:
关于如何处理的任何建议?
reactjs - 路由处理程序应该使用容器还是展示组件?
例如:
启动我的应用程序时,我创建了一个连接组件,其中包含一些用于调度操作的回调,并呈现单个展示组件,该组件又包含许多其他构成“屏幕”(或“场景”)的展示组件。
但后来我意识到其中许多组件都进行了不必要的渲染,因为它们中的每一个都需要状态的不同部分。
那么,解决方案是什么?也许将一个呈现许多容器的单个表示传递给路由处理程序,并且每个容器都连接到它关心的状态?那么,如果两个组件使用相同的状态部分,那么它们是否应该是不同的容器呢?而且,如果我采用这种方法,是否有一个文件夹“视图”来存储这些路由处理程序?
你是怎么处理的?
谢谢!
javascript - Redux:是否只允许来自 reducer 函数的同步调用?
我有一个 reactJs 应用程序,现在我正在学习 Redux 以将其用作 Flux 实现。
我创建了一个商店,并创建了我的第一个减速器功能,但现在我有一些问题浮现在我的脑海中,请帮助我理解。
如您所见,我有一个名为“FIND_PRODUCTS”的操作,它基本上是从后端服务获取数据。要调用这个后端服务,我基本上使用异步 ajax 调用,所以基本上我面临的问题是在我的后端调用完成之前从 reducer 函数返回状态,所以状态没有正确更新,订阅者商店收到不正确的数据。如果我切换到同步调用,这个问题就解决了,但是,我得到的第一个警告是应该避免同步调用,因为它可能会降低用户的体验(性能)。
所以我的问题是,我们只能从 reducer 函数中同步获取数据吗?获取数据应该发生在 reducer 函数中还是有其他方法可以做到这一点?如果有,那是什么?
这种拥有单个对象树来维护状态的 redux 模型是否适用于大型应用程序?如果我有 1000 个动作,我的减速器功能中的开关将是巨大的!我们怎样才能避免呢?
谢谢!!