无法读取 null 的属性“props” - Reactjs [重复]

2024-04-02

基本上我想在子组件中调用父组件的函数。该函数将更改父组件的状态。

我在父组件中创建了一个处理程序并将其作为道具传递给子组件。 现在我想在子组件中调用它。

Parent:

  state = { formstep: '1'}
  constructor(props) {
  super(props)
    this.handler = this.handler.bind(this)
  }
  handler(e) {
    e.preventDefault()
    this.setState({
      formstep: '2'
    })
 }

 render () {
    return (
      <Form1 handler = {this.handler} />
    )
 }

在孩子中,当我尝试调用处理函数时,它说

无法读取 null 的属性“props”

Child:

handleClick() {
   //Saving Some data from form
   //and calling parent function
   this.props.handler;
}

render () {
    return (
      <button onClick={this.handleClick}>Continue</button>
    )
}

在子组件中,您需要正确绑定上下文:

<button onClick={this.handleClick.bind(this)}>Continue</button>

或者更好地绑定在构造函数中:

this.handleClick = this.handleClick.bind(this)
// => <button onClick={this.handleClick}>Continue</button>

或将其作为方法调用:

<button onClick={() => this.handleClick()}>Continue</button>

最后,您需要实际调用回调:

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

无法读取 null 的属性“props” - Reactjs [重复] 的相关文章

随机推荐

  • 用于发送电子邮件的 Google Sheets 脚本

    链接到工作表 https docs google com spreadsheets d 1qOuZigHnjBi85ttU4vbj0vIJpn7GAlqHPa7Lt8I2bUA edit usp sharing 我只需要脚本 sendEma
  • Python tarfile 进度输出?

    我使用以下代码来提取 tar 文件 import tarfile tar tarfile open sample tar gz tar extractall tar close 但是 我想以目前正在提取哪些文件的形式密切关注进度 我怎样才能
  • 在 Angular 2 中的 Jquery 数据表中绑定按钮事件

    我正在尝试在我的 Angular 2 应用程序中实现 Jquery 数据表 我可以在我的 html 文件中渲染表格 如下所示
  • 我们可以加密android中的文件夹吗?

    其实我是安卓新手 我们可以加密一个文件夹吗 包含 SD 卡中的子文件夹和文件并将其解密回来 任何帮助将不胜感激 谢谢 您对 Java 的总体了解程度如何 您可以使用所有javax security and javax crypto类 如Ci
  • 保留对每个用户连接的套接字的引用

    我 为了清楚起见 聊了聊 用户可以登录 写消息 其他人会看到 name message 我不想每次写的时候都发送用户名和IDsocket emit say message 因为这是多余的 所以我在服务器上做的事情如下 var io requ
  • Qt 忽略 makefile、.pro.user 文件

    我开发基于 Qt 的项目并使用 Mercurial 存储库 bitbucket org 服务 进行版本控制 每次我在存储库中提交时 都会有一些文件仅包含标头中的日期时间更改 因此 每次提交我都应该检查每个文件是否有重大更改 而不仅仅是时间戳
  • Mongoose / MongoDB - 在一条指令中更新具有不同 _id 和值的多个文档

    我正在寻找一种在一条指令中更新多个 MongoDB 文档的方法 我知道有一个 updateMany 查询 但它需要严格的过滤参数才能更新多个文档 我有一组想要更新的对象 如下所示 const objectsToUpdate id 1 fie
  • Angular 6:如何访问 mat-autocomplete 下拉列表中的所有选项值?

    给出 Angular 文档中的示例你可以在这里看到 https material angular io components autocomplete overview setting separate control and displa
  • 对仅包含 a-z 和空格的单词数组进行排序的最快方法是什么?

    我想知道是否有比快速排序 合并排序更快的方法来对此类数组进行排序 数组的最大长度为 10 6 单词的长度 gt 10 且 您可以将所有单词放在一个trie http en wikipedia org wiki Trie or a 基数树 h
  • 缺少值组合的完整数据框

    我有一个包含两个因素的数据框 distance 和年份 years 我想完成所有years每个因子的值均除以 0 即由此而来 distance years area 1 NPR 3 10 2 NPR 4 20 3 NPR 7 30 4 10
  • 如何清除Java 9 JShell控制台?

    我没有找到任何清除 Java 9 JShell 控制台的命令 我也尝试通过这个程序清除JShell控制台 但它也不起作用 import java io IOException class CLS public static void mai
  • Android - 如何从 kotlin 流中读取值?

    我有来自房间数据库的剧集流程 我可以毫无问题地观察该流程的实时数据 但我还想在用户单击按钮时读取此流程中的最后一个值 我尝试使用first 终端流运算符 但它无法编译 您能帮忙或提出其他建议吗 非编译尝试从流中读取 bd buttonNex
  • 将上下文传递给自定义挂钩或在自定义挂钩内调用 useContext 更好吗?

    我有越来越多的自定义挂钩 其中许多通过以下方式访问相同的反应上下文useContext钩 在许多组件中 需要使用多个自定义挂钩 打电话比较好吗useContext每个组件一次并将上下文传递到我的自定义挂钩中 还是最好调用useContext
  • 如何删除/取消注册 GitLab 运行程序

    几个月前我注册了一个个人 GitLab 运行器 但我不再使用它 如何完全删除它 使其不会显示在我的 GitLab CI CD 设置页面上 列出跑步者以获取他们的令牌和 URL sudo gitlab runner list 使用指定运行者令
  • Android 10.0 应用程序在 BOOT 上启动

    我们有一个 Android 应用程序 我们打算在手机启动期间启动 启动 通过在 Android 10 中尝试一些代码 我们意识到在 Android 8 0 之后无法在启动时启动应用程序 以前在 Android 6 中 这是可能的 即使在物理
  • Heroku Dynos 是否享受 AWS 网络内的免费数据传输?

    我正在考虑将 Heroku 用于 NodeJS 应用程序 我想知道他们的 Dynos 是否享受 AWS 网络内的免费内部数据传输 我想使用 DynamoDB ElastiCache RDS SQS 和许多其他 AWS 产品 如果我可以从 H
  • 如何使用 OpenXML 查找段落中的页码?

    For a 段落对象 如何使用 Open XML SDK 2 0 for Microsoft Office 确定该对象位于哪个页面 使用以下方法无法获取 Word 文档的页码OpanXml Sdk因为这是由客户端处理的 例如 MS Word
  • 推送 UIView 时隐藏 UITabBar

    我有一个UITabBarController其中默认视图控制器是UINavigationController 当我在视图中推送某个视图时 我希望能够隐藏 UITabBarController 的 UITabBarUINavigationCo
  • 如何获取任务的结果或返回值?

    有人可以向我解释如何返回任务的结果吗 我目前正在尝试执行以下操作 但我的任务没有返回我期望的列表 这里有什么问题 static void Main List
  • 无法读取 null 的属性“props” - Reactjs [重复]

    这个问题在这里已经有答案了 基本上我想在子组件中调用父组件的函数 该函数将更改父组件的状态 我在父组件中创建了一个处理程序并将其作为道具传递给子组件 现在我想在子组件中调用它 Parent state formstep 1 construc