将 textarea 值发送给 redux 动作创建者
Sending textarea value to a redux action creator
我有以下组件:
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
类型
我是不是做错了什么?我的价值在哪里?
您正在获取按钮单击事件,这与文本区域无关。有几种不同的方法可以处理事情。一种是实现 "controlled inputs" 模式并将文本区域的当前值保持在状态(Redux 状态或组件状态)中。另一种是将 "ref" 保存到文本区域,并在单击按钮时从真正的 DOM 元素中检索它的值。
作为我的 React/Redux 链接列表的一部分,我在 React and Forms 上有许多文章的链接,这些文章解释了 "controlled input" 模式是什么以及如何使用它。
我有以下组件:
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
我是不是做错了什么?我的价值在哪里?
您正在获取按钮单击事件,这与文本区域无关。有几种不同的方法可以处理事情。一种是实现 "controlled inputs" 模式并将文本区域的当前值保持在状态(Redux 状态或组件状态)中。另一种是将 "ref" 保存到文本区域,并在单击按钮时从真正的 DOM 元素中检索它的值。
作为我的 React/Redux 链接列表的一部分,我在 React and Forms 上有许多文章的链接,这些文章解释了 "controlled input" 模式是什么以及如何使用它。