将文本区域值发送给redux操作创建器

Sending textarea value to a redux action creator

本文关键字:redux 操作 创建 文本 区域      更新时间:2023-09-26

我有以下组件:

const myComponent = ({handleClick, default = ''}) => (
  <div>
    <textarea name="myTextArea" defaultValue={default}></textarea>
    <button onClick={(myTextArea) => handleClick(myTextArea})}>Done</button>
  </div>
)
调度映射:

 const mapDispatchToProps = (dispatch) => {
   return {
      handleClick: (myTextArea) => {
         console.log(myTextArea); // This is syntheticMouseEvent
      }
    }
  }

myTextArea总是类型为syntheticMouseEvent

我做错了什么吗?我的价值在哪里?

您将获得按钮单击的事件,这与文本区域无关。有几种不同的处理方法。一种是实现"受控输入"模式,并保持文本区域的当前值处于状态(Redux状态或组件状态)。另一种方法是将"ref"保存到文本区域,并在单击按钮时从真正的DOM元素中检索其值。

在我的React/Redux链接列表中,我有很多关于React和Forms的文章的链接,这些文章解释了什么是"受控输入"模式以及如何使用它。