React - 使用 refs 从祖父母那里读取文本区域值

React - Reading text area value from a grandparent using refs

我有一个 grandparent、一个 parent 和一个带有文本区域的 child 组件。我需要从 grandparent 组件中的函数读取 textarea 上的值。 3 个都是 类,

我在 child 组件文本区域中这样做

<textarea            
        name={this.props.name}
        id={this.props.id}
        onChange={this.props.onChange}
        value={this.props.value}
        ref="someref"
>

Grandparent 正在尝试像这样访问文本区域引用

console.log(ReactDOM.findDOMNode(this.refs.someref))

我得到一个空值。

所以,我所做的是

上大parent,上大parent

<Parent
  someRef={(textarea) => {this.someRef = textarea;}}
  ...
  ...
/>

在parent上调用child时

<Child
  someRef={this.props.someRef}
  ...
  ...
/>

并且在调用文本区域的child上

<textarea
  ref={this.props.someRef}
>

然后我像这样从 grandparent 访问它

this.someRef.value

如果有人认为这是错误的post请在评论中指出