输入如何获得.value以及什么是ref?

时间:2017-02-28 21:37:16

标签: javascript reactjs redux react-redux

这里的输入如何获得.value?如何从节点中获取此信息:

<input ref={node => { input = node }} />

node DOM节点,就像输入标签一样?

究竟什么是ref,为什么我们需要它来获取输入值?

我可以将ref放在任何html类型标签上以获取DOM节点吗?

&#13;
&#13;
import React from 'react'
import { connect } from 'react-redux'
import { addTodo } from '../actions'

let AddTodo = ({ dispatch }) => {
  let input

  return (
    <div>
      <form onSubmit={e => {
        e.preventDefault()
        if (!input.value.trim()) {
          return
        }
        dispatch(addTodo(input.value))
        input.value = ''
      }}>
        <input ref={node => {
          input = node
        }} />
        <button type="submit">
          Add Todo
        </button>
      </form>
    </div>
  )
}
AddTodo = connect()(AddTodo)

export default AddTodo
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

  1. 当ref为Component时,节点是Component的一个实例,当ref为Element时,该节点就是DOMElement实例。
  2. 您可以随时随地ref,但反应建议don't to overuse
  3. 你有两种方法可以使用ref。 ref with function&amp; ref as attribute with string name

  4. react提供value/check来检索表单元素值。