问题标签 [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.

0 投票
1 回答
3702 浏览

javascript - 如何使用 Redux 在子组件中触发表单提交?

我有一个这样的表单组件:

在我的组件渲染中,我拥有<Form id="paymentform" ref="form" action="/self">.

我不能这样做this.refs.form.submit();,因为this.refs.form指向连接器。据我了解,连接器是 reducer 更新道具的渠道,但是这样做不会触发对submit.

用例基本上是让表单从另一个操作提交,这将启动表单组件应该执行的操作,例如验证和 XHR 请求。

我可以做到React.findDOMNode(this.refs.form).submit(),但这并不能回答从外部点击组件方法的实际问题。

我在这里做错了什么?

0 投票
3 回答
2240 浏览

javascript - React redux 收藏夹动作

我是 react-redux 世界的新手,在可视化一段复杂的数据流时遇到了一些麻烦(我认为)。

假设状态包含一组曲目和一组最喜欢的曲目 ID。用户可以从许多不同的组件中收藏一首曲目,例如音乐播放器、曲目列表、图表,所有其他组件都必须重新渲染。

目前,我正在触发一个动作,以在收藏夹数组中添加/删除曲目 ID。但我不太明白如何从那里开始。

我的计划是触发另一个动作,例如 trackItem 减速器来监听并继续。或者每个相关组件可以直接订阅收藏夹集合的变化吗?或者我可以让两个减速器听同一个动作吗?我现在知道如何实现类似的东西,而且我有一种直觉,我走错了路。

感觉就像我正在努力摆脱我的骨干木偶习惯。你会怎么做?

我的另一个计划是在轨道项目 json 中有一个 isFavorited 布尔值,并使用一个动作/减少来更新/切换该属性。我知道normalizr将合并具有相同 id 的实例,因此任何订阅其更改的组件都会做出反应。

0 投票
3 回答
2114 浏览

javascript - How To Pass Event From Redux To React?

I have a GUI react/redux based app. As part of the view there is a "indicator" react component which I wish to blink, and the blinking is done with a CSS3 animation (animation frames). The indicator.blink() member function of the react component is called to make the indicator blink (it basically removes the blink class from the DOM element, then adds it again 1ms later, as a hack to get around the fact that there is no "restart" api for a CSS3 animation).

Upon certain actions occurring in the redux framework (they can be thunks if needed), I wish to call this blink() function in the react view. How best to do this?

It doesn't feel right to have the redux action modify the app state, and then the indicator element bind to one of the state variables as a prop, since it's not really a state, but an instantaneous event. But I know of no other way to get a redux action to change a react component.

0 投票
2 回答
9064 浏览

javascript - 如何对异步 Redux 操作进行单元测试以模拟 ajax 响应

我正在创建一个中间件,用于使用异步操作发出 ajax 请求。中间件拦截原始动作,执行 ajax 请求,并将dispatch原始动作与来自url.

所以,我的组件只是dispatch这样的动作

中间件将负责休息,如下所示

我的问题是,我应该为单元测试做什么?我应该嘲笑onClick自己吗?或者我应该编写一个模拟中间件并使用模拟响应转发操作?

我不确定我应该采取哪种方法。我尝试了一些东西,但我尝试的东西对我来说都没有意义。

任何指针?

0 投票
4 回答
17392 浏览

ios - 使用 React Native、Redux 和 Navigator 进行导航的正确方法

我有一个使用 Redux 框架的 React Native 应用程序,并且我正在使用 Navigator 组件来处理导航。我在导航工作时遇到了一些麻烦,而且我找不到任何关于如何正确操作的好例子,所以我正在寻找一些帮助和澄清。

这是我目前拥有的内容的要点,它正在工作,但我不知道我是否做得对:

根组件

登录组件

问题:

1:我的第一个想法是我应该将navigator.push代码移动到一个动作中。但是componentWillReceiveProps,调用该操作的正确位置是什么?当Signin组件加载时,如果用户已经有一个活动会话,它会触发一个操作来登录用户。默认情况下,他们没有登录,所以当下一个道具通过时,我检查它是否改变,然后推送到Main.

2:在记录“PUSH TO MAIN”后立即在我的控制台日志中,我看到两个“RENDER SCENE”日志:

Signin如果我只是推动组件,我很好奇为什么 RENDER SCENE 会被调用两次(第一个是组件) Main

最初也是在componentWillReceiveProps我只检查的方法中:

但这导致Main组件被推送两次。

0 投票
1 回答
580 浏览

reactjs - 为什么我无法路由我的应用程序?react - react-router - redux-router

我有一个简单的redux/react应用程序,我只能路由到 root /。我正在使用react 0.14,redux 3.0.2和. 这是我的应用程序:react-router 1.0.0-rc-3redux-router1.0.0-rx-3

这是我的App组件:

我的Test组件是一样的,没有this.props.children.

我正在index.htmlexpress服务器提供服务。这是那个文件:

index.html在我的public目录中。

当我转到 时/,我看到了我的App组件,但我无法路由到我的Test组件。我试过/testand #/test,但它不起作用。我有什么配置不正确?

0 投票
1 回答
669 浏览

javascript - 不可变推送/添加 (redux/immutable.js)

我在 redux reducer 中有一个不可变对象作为我的状态,并且正在尝试将对象添加/更新到列表中。

这是我的减速器:

我想将对象添加到页面键,但是如果它当前存在,请更新值。我已经尝试过 updateIn 和 add() 回调,但我对 immutable.js 还很陌生,不知道如何正确处理它。

set() 方法完全重写了“页面”值,而我需要推送该值并且仅在它存在时才设置,最终得到:

例子

0 投票
2 回答
2699 浏览

reactjs - 使用 JSX 和 ES6 React 加载动态模板

我对 React 很陌生,来自一个有角度的世界。我有一个场景,我需要动态加载一个组件给一个 searchType 道具。最终用户将有一个他们可以从中选择的 searchTypes 的下拉列表,这个道具在他们单击提交按钮后传递。

我定义了一个SearchResults组件,它应该根据this.props.searchType.name

现在,这似乎部分起作用,因为在 chrome 中使用 React 开发工具时,我可以看到提供程序/组件显示在 DOM 中。但它没有呈现。

我只是不确定从这里下一步该去哪里,或者我是否做错了什么。

0 投票
1 回答
1257 浏览

reactjs - 反应路由器+ redux警告:位置“xyz”不匹配任何路由

我正在尝试在我的 react 和 redux 应用程序中进行路由,但仍然没有运气。

index.js:

默认视图已正确生成。在DashboardApp我有这样的代码:

如果我单击它,我会在控制台中收到错误:

我将不胜感激任何提示如何解决它

0 投票
1 回答
1271 浏览

javascript - 嵌套的 react 和 redux 应用程序 - 有可能吗?

我有一个现有的用 Angular 编写的独立身份验证应用程序,它可以在需要时在 Angular 生态系统中轻松传递,或者自己运行良好。以一种 hacky 的方式,我能够在 react 应用程序的视图中使用它,但是需要更新它,所以我在 react 和 redux 中重写了它。

问题是,我很难将它集成到上述反应应用程序中。以前有没有人做过这样的事情,或者如果我需要在其他 react/redux 应用程序中使用它,我是否必须单独要求所有不同的部分并“重新组装”它?