迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > React >

在 React 中使用 onChange 修改 Textarea 的值

作者:迹忆客 最近更新:2023/01/08 浏览次数:

在 React 中使用 onChange 修改文本区域的值:

  1. onChange 属性添加到文本区域,将其设置为一个函数。
  2. 通过 useState 钩子将文本区域的值存储在状态中。
  3. 每次用户在文本区域中键入时更新状态变量。
import {useState} from 'react';

const App = () => {
  const [message, setMessage] = useState('');

  const handleMessageChange = event => {
    // 👇️ update textarea value
    setMessage(event.target.value);
    console.log(event.target.value);
  };

  return (
    <div>
      <label htmlFor="message">My Textarea</label>
      <textarea
        id="message"
        name="message"
        value={message}
        onChange={handleMessageChange}
      />
    </div>
  );
};

export default App;

我们使用 useState 钩子将 textarea 元素的值存储在组件的状态中。

我们将一个函数传递给文本区域的 onChange 属性,因此每次用户在该字段中键入内容时,都会调用 handleMessageChange 函数。

React 中使用 onChange 修改 Textarea 的值

我们可以访问事件对象上文本区域元素的值作为 event.target.value

事件的目标属性是对 textarea 元素的引用。

设置文本区域的值后,我们可以使用消息状态变量访问它。

我们可能会在 React 中看到的另一种方法是通过 ref 使用不受控制的字段。

import {useRef} from 'react';

const App = () => {
  const ref = useRef(null);

  const handleClick = event => {
    // 👇️ access textarea value
    console.log(ref.current.value);
  };

  return (
    <div>
      <label htmlFor="message">My Textarea</label>
      <textarea ref={ref} id="message" name="message" />

      <button onClick={handleClick}>Click</button>
    </div>
  );
};

export default App;

React 通过 ref 使用不受控制的字段

每次单击按钮时,textarea 的值都会被记录到控制台。

请注意 ,我们没有在 textarea 元素上使用 onChange 属性。 对于不受控制的字段,我们不会在每次击键时跟踪字段的值,而是在需要时访问它。

useRef() 钩子可以传递一个初始值作为参数。 该钩子返回一个可变的 ref 对象,其 .current 属性被初始化为传递的参数。

请注意 ,我们必须访问 ref 对象的当前属性才能访问我们设置 ref 属性的 textarea 元素。

当我们将 ref prop 传递给元素时,例如 <textarea ref={myRef} />,React将ref对象的 .current 属性设置为对应的DOM节点。

useRef 钩子创建一个普通的 JavaScript 对象,但在每次渲染时都会为您提供相同的 ref 对象。 换句话说,它几乎是一个具有 .current 属性的记忆对象值。

我们可以通过 ref.current 访问 textarea 元素上的任何属性。 如果我们在 ref 对象上记录当前属性,它只是对 textarea 元素的引用。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:173 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

在 Vue 中为 onChange 事件添加参数

发布时间:2023/03/24 浏览次数:515 分类:Vue

在 Vue 中,我们经常需要为表单元素添加 onChange 事件来监听用户输入并做出相应的处理。但是有时候我们需要向该事件传递一些参数,以便更好地处理用户输入。本文将介绍如何在 Vu

在 React 中循环遍历对象数组

发布时间:2023/03/18 浏览次数:602 分类:React

在 React 中循环对象数组: 使用 map() 方法迭代数组。 我们传递给 map() 的函数会为数组中的每个元素调用。 该方法返回一个新数组,其中包含传入函数的结果。 export default function App (

获取 React 中元素的类名

发布时间:2023/03/18 浏览次数:340 分类:React

在 React 中使用 event.target 获取元素的类名 获取元素的类名: 将元素上的 onClick 属性设置为事件处理函数。 访问元素的类名作为 event.currentTarget.className 。 export default function App () { cons

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便