javascript - 如何在 react 中单击按钮时获取输入字段值?

标签 javascript reactjs

你能告诉我如何在点击按钮时获取输入字段值吗,我正在使用 react 钩子(Hook)。我想获取 first namelastname 值按钮点击。我已经在我的函数组件中传递了 name 属性。

这是我的 code

import React, { Component, useState } from 'react';
import { render } from 'react-dom';

export default function InputField({name,label}) {
  const [state, setState] = useState('')
  return (
    <div>
     <label>{label}</label>
      <input type="text" 
      value={state} 
      name={name}
      onChange={(e) => setState(e.target.value)} />

      {state}
    </div>
  );

}

最佳答案

Use <form> tag with useRef hook

包装你的 <InputField>带有 html <form> 的标签标记并使用react ref在以后。像这样:

import React, { Component, useRef } from 'react'
import { render } from 'react-dom'

import InputField from './inputfield'

import './style.css'

function App () {
  const nameForm = useRef(null)

  const handleClickEvent = () => {
     const form = nameForm.current
     alert(`${form['firstname'].value} ${form['lastname'].value}`)
  }

  return (
    <div>
      <form ref={nameForm}>
       <InputField label={'first name'} name={'firstname'}/>
       <InputField label={'last name'} name={'lastname'}/>
      </form>
      <button onClick={handleClickEvent}>gett value</button>
    </div>
  )
}

render(<App />, document.getElementById('root'))

工作示例: https://stackblitz.com/edit/react-shtnxj

关于javascript - 如何在 react 中单击按钮时获取输入字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57302715/

相关文章:

javascript - ReactKonva不支持类型 "div"

javascript - 如何使用 Vue.js 在同一个表中嵌套多个循环

javascript - 如何将CSS应用于动态HTML内容?

javascript - 获取表单 html 及其值

reactjs - react-select isMulti 过滤选项

javascript - 为什么这个递归函数会覆盖第二次调用的值?

javascript - 您如何每次计算父 div 高度(当用户多次刷新浏览器时)

javascript - 你如何命名/制作类似这个例子的东西(有点固定滚动)

javascript - 带有 React Router 4 实现的 Material UI AppBar 不起作用

reactjs - create-react-app typescript 不会运行 npm start