React + Redux 中的 Action 不会触发减速器

2023-11-22

我正在开发一个react-redux应用程序,由于某种原因,我调用的操作没有到达reducer(我目前只有一个日志语句)。我已附上我认为相关的代码,任何贡献将不胜感激。

组件中函数内调用的操作:

onSearchPressed() {
    console.log('search pressed');
    this.props.addToSaved();
}

动作/index.js:

var actions = exports = module.exports

exports.ADD_SAVED = "ADD_SAVED";

exports.addToSaved = function addToSaved() {
  console.log('got to ADD_SAVED step 2');
  return {
    type: actions.ADD_SAVED
  }
}

减速器/items.js:

const {
  ADD_SAVED
} = require('../actions/index')

const initialState = {
    savedList: []
}

module.exports = function items(state = initialState, action) {
    let list

    switch (action.type) {
        case ADD_SAVED:
            console.log('GOT to Step 3');
            return state;
        default:
            console.log('got to default');
            return state;
    }
}

减速器/index.js:

const { combineReducers } = require('redux')
const items = require('./items')

const rootReducer = combineReducers({
  items: items
})

module.exports = rootReducer

商店/配置-store.js:

import { createStore } from 'redux'
import rootReducer from '../reducers'

let store = createStore(rootReducer)

编辑:onSearchPressed 的整个组件:

class MainView extends Component {
    onSearchPressed() {
        this.props.addToSaved();
    }
    render() {
        console.log('MainView clicked');
        var property = this.props.property;

        return (
            <View style={styles.container}>
                <Image style={styles.image}
                    source={{uri: property.img_url}} />
                <Text style={styles.description}>{property.summary}</Text>
                <TouchableHighlight style = {styles.button}
                        onPress={this.onSearchPressed.bind(this)}
                        underlayColor='#99d9f4'>
                        <Text style = {styles.buttonText}>Save</Text>
                    </TouchableHighlight>
            </View>
        );
    }
}

module.exports = MainView;

正如里克·乔利(Rick Jolly)在对你的问题的评论中提到的那样,你的onSearchPressed()函数实际上并没有调度该操作,因为addToSaved()只是返回一个操作对象 - 它不会分派任何内容。

如果您想从组件分派操作,您应该使用反应还原将您的组件连接到 redux。例如:

const { connect } = require('react-redux')

class MainView extends Component {
  onSearchPressed() {
    this.props.dispatchAddToSaved();
  }
  render() {...}
}

const mapDispatchToProps = (dispatch) => {
  return {
    dispatchAddToSaved: () => dispatch(addToSaved())
  }
}

module.exports = connect(null, mapDispatchToProps)(MainView)

See the Redux 文档的“React 用法”部分了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React + Redux 中的 Action 不会触发减速器 的相关文章

  • 如何更改点击事件上的引导插入符指向方向

    我正在使用 2 3 2 引导程序 因为当我单击菜单按钮时 我可以更改插入符号图标的位置 我需要当我单击图标插入符号向上时 当您单击另一个项目时 插入符号返回到初始状态 这怎么可能 导航代码 div div class container d
  • 获取 pdf 第 1 页(共 2 页)的图像

    我正在使用 html2canvas 和 jsPDF 以及 Angular4 创建图像 我想将此图像放置在 2 页生成的 pdf 的第 1 页上 但似乎这条线 doc save test pdf 需要在函数内部htm2canvas 因为如果我
  • 无法提取 Typescript 中的对象值

    我一直在尝试将 JavaScript Web 表单转换为 Typescript 但无法弄清楚如何处理以下内容 在 JavaScript 中有效 let fieldValues JSON parse cookieData let keys O
  • 它们是“相同的”吗?代码大战

    这是完整的问题描述 给定两个数组 a 和 b 编写一个函数 comp a b Clojure 中的 compSame a b 来检查这两个数组是否具有 相同 元素以及相同的重数 这里 相同 意味着 b 中的元素是 a 平方中的元素 无论顺序
  • 验证 iOS 应用程序时出现 com.apple.developer.linked-domains 问题

    当我在 Xcode 中使用 Organizer 验证我的项目时 出现以下错误 无效的代码签名权利 你的申请包的签名包含代码签名权利iOS 上不支持的 具体来说 值 for key com apple developer associated
  • 使用react-native使用WebView设置用户代理

    我想修改 WebView 中的用户代理字符串 以便在服务器端我可以检测到请求来自我的反应本机应用程序 我想使用 WebView 中的 source 属性来做到这一点 对于 IOS 和 Android 我该如何执行此操作 您只需将其设置为 W
  • 如何在 VMware 中运行的 MAC 操作系统中安装 Xcode - 无法安装 Xcode,因为需要 OS X 版本 10.12 或更高版本

    我想开始进行 iOS 应用程序开发 但此时我买不起 MAC 计算机 因此我在 VMware 的虚拟机中安装了 MAC OS X Sierra 方法如下 下一步是获取 XCode 所以我打开App Store并搜索它 我发现一个错误 内容是M
  • Hooks setState 总是落后一步

    我使用了 useState 钩子 应该在每次下拉按钮的值发生变化时触发设置状态方法 在钩子中 但设置状态总是落后一步 我已经看到了使用基于类的组件的传统 setState 方法的解决方案 但是如何使用钩子解决此问题useState
  • 如何更改 Vuetify 日历日期格式

    我正在尝试在以下 Vuetify 日历上启用输入事件 https github com vuetifyjs vuetify blob master packages docs src examples calendars complex e
  • 如何在 Objective C 类中设置布尔类型属性

    如何在 Objective C 类中使用布尔属性 我是这样做的 property nonatomic copy BOOL locationUseBool 但它给出了错误 具有 复制 属性的属性必须是对象类型 正确的申报方式是什么 您也可以这
  • cocos2d中获取CCSprite的绝对位置

    在我的游戏中 我有一个CCSprite绕另一个轨道运行CCSprite 很像电子绕原子核运行 我将电子作为原子核的子元素 以使动画更加简单 我所要做的就是旋转原子核 电子就会很好地跟随 然而 我的问题来自于想要让轨道动画看起来更时髦一点 通
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • D3 时间解析返回 null

    根据此页面上的说明 https github com mbostock d3 wiki Time Formatting https github com mbostock d3 wiki Time Formatting我正在尝试解析 ISO
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • jQuery 单击附加元素不起作用

    我有一个数组 我正在从 Array 获取数据并在 jQuery Append to list 中使用它 但是当我单击列表项时 它只显示最后一个元素 var array 1 2 7 3 4 8 5 6 9 for var i 0 i lt a
  • 在哪里可以了解有关 WebCoreSharedBufferData 的更多信息?

    我有一个在 iOS 6 上完美运行的应用程序 但在 iOS 7 上 如果用户采取了非常具体的操作 太复杂而无法进入 但它使用UIWebView并且它是一致的 应用程序崩溃并出现错误 Terminating app due to uncaug
  • 将子视图控制器添加到当前视图控制器

    我正在尝试使用以下代码在代码中将子视图控制器添加到情节提要中的当前视图控制器 UIStoryboard storyboard UIStoryboard storyboardWithName Main bundle nil LogInTuto
  • Antd select 元素:如何禁用输入?

    我正在尝试使用模式 multiple 的选择元素 我希望禁用输入 这意味着用户只能在现有选项之间进行选择 而不能输入文本 我该怎么做呢 我的元素 import Select from antd import antd dist antd c
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • 用于测试对象类型的通用 Swift 函数

    我正在尝试编写一个函数 该函数接受一个对象和一个类型作为参数 并返回一个布尔值 指示该对象是否属于给定类型 似乎没有 Type 类型 所以我不知道如何做到这一点 我能做的最好的就是 func objectIsType

随机推荐

  • 为什么 .NET 创建新的子字符串而不是指向现有字符串?

    从使用 Reflector 的简要观察来看 它看起来像String Substring 为每个子字符串分配内存 我的说法正确吗 我认为这没有必要 因为字符串是不可变的 我的根本目标是创建一个IEnumerable
  • 在 Windows 中更改模拟器电池电量

    如何更改 Windows 操作系统中模拟器的电池电量 从 50 更改为 70 且不充电 有一些指南 但它们都是针对 Ubuntu 的 Windows 支持telnet从命令提示符处 至少在 XP 和 Vista 上 如果您在其他 Windo
  • 从 FOP 的 JAR 加载字体

    我有一个 TTF 字体fonts我的应用程序位于 JAR 目录中 myapp jar fop config xml font ttf 我这样创建我的 FOP FopFactory fopFactory FopFactory newInsta
  • 使用 ACTION_VIEW 打开缓存目录中的文件

    我已经搜索这个有一段时间了 但我无法使其正常工作 让我解释 我有一个保存文件的 Android 应用程序 图像 文档 在缓存目录中 起初我曾经getExternalCacheDir 方法并将它们保存在那里 但因为它应该缓存在没有 SD 卡的
  • 如何解决 Visual Studio 编译器崩溃问题

    我们有一个大型的 Visual Studio 2005 C Mfc 解决方案 其中 1 个项目包含大约 1300 个源文件 大约有 650 个 h 和 650 个 cpp 文件 我们还使用 Boost 和一些其他库 COM MSXML Of
  • 如何在 Spring MVC 应用程序中测试 Aspect

    我有一个 Spring MVC 应用程序 我使用一个方面来捕获所有控制器方法中的异常 Component Aspect public class ControllerExceptionAspect private Logger logger
  • 嵌套函数是否存在等效的 override ?

    如果我有这个函数 我应该怎么做才能用我自己的自定义版本替换内部函数 def foo def bar I want to change this pass here starts a long list of functions I want
  • GCC 错误消息“Error: unsupported for `mov'”是什么意思?

    我只是想编译一些我从书中输入的简单示例代码 GCC 给了我上述错误 这是我的代码 cat n test cpp 1 define READ COMMAND 3 2 3 define MSG LENGTH 128 4 5 include
  • 是否可以读取管道任务上的 PR 标签?

    我的问题基本上是标题 我找不到这样的信息阅读这一页并搜索网络 我的场景如下 每当我创建要掌握的 PR 时 我都会添加一个包含一些信息的标签 例如此处看到的 lib 版本 然后 在构建过程中 我生成发行说明 并希望像我一样在任务中访问该 PR
  • 张量流图在什么阶段建立?

    优化器通常会在许多步骤中运行相同的计算图 直到收敛 张量流是否在开始时设置图并在每个步骤中重用它 如果我在训练期间更改批量大小会怎样 如果我对图表进行一些减值更改 例如更改损失函数 会怎样 如果我对图表进行一些重大更改会怎样 张量流是否预先
  • openURL 在共享扩展中不起作用

    尝试使用 self extensionContext openURL completionHandler 在 iOS 8 共享扩展中打开包含的应用程序永远不会打开该应用程序 并且始终以 success NO 调用完成处理程序 Here操作扩
  • 在机械化中提交表格

    我在提交表单提交结果时遇到问题 我可以提交表单 但无法在第一个页面之后的页面上提交表单 I have browser mechanize Browser browser set handle robots False browser ope
  • 一项操作的两个快捷键

    我需要两个快捷方式来执行一项操作 Ctrl 1 or ctrl s 有什么办法可以做到这一点吗 或者我必须创建该操作的副本 然后为此操作分配第二个快捷方式 为了在一个操作上安装多个快捷方式 您可以使用QAction setShortcuts
  • 升级您的 Android Google 移动广告 SDK 以确保广告持续投放

    我今天收到这条消息 AdMob 发布商您好 7 月初 我们向 AdMob 发出了通知 拥有在 SDK 版本 6 4 1 及更低版本上运行应用程序的发布商 告知他们有关弃用 SDK 版本以及需要升级的信息 2016 年 9 月 15 日 对于
  • Excel VBA 英镑和冒号的含义?

    我试图理解一个带有井号和冒号符号的 vba 函数 VBA函数 kn 1 pn 1 y 1 我知道井号用于在 Excel VBA 中将变量声明为双精度型 然而 从上面那行来看 它似乎没有任何意义 上面的函数有什么作用呢 冒号 是语句分隔符 它
  • 计算上次 SQL 查询插入的行数

    我有这个查询 INSERT INTO db1 outbox DestinationNumber TextDecoded SELECT User CellPhone SMSMessage as TextDecoded FROM db2 Use
  • python 中是否有可用的缩放互补误差函数?

    在matlab中有一个特殊功能我所知道的任何 Python 集合中都没有它 numpy scipy mpmath 也许还有其他地方可以找到这样的功能 UPD对于所有认为这个问题微不足道的人 请首先尝试计算参数 30 的这个函数 UPD2任意
  • 是否有任何工具可以将托管 C++ 转换为 C++/CLI? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我们有一个使用托管 C 语法编写的旧项目 我想向团队提出一种相当无痛的更新方法 我不介意一定程度的人机交互 我认为我的期望是现实的 我们仍然需要手工
  • 如何使用 WorksheetFunction.VLookup 处理 1004 错误?

    我有这个代码 Dim wsFunc As WorksheetFunction Set wsFunc Application WorksheetFunction Dim ws As Worksheet Set ws Sheets 2012 D
  • React + Redux 中的 Action 不会触发减速器

    我正在开发一个react redux应用程序 由于某种原因 我调用的操作没有到达reducer 我目前只有一个日志语句 我已附上我认为相关的代码 任何贡献将不胜感激 组件中函数内调用的操作 onSearchPressed console l