react-bits:从父组件获取子组件

react-bits
原文

从父组件获取子组件
例如:操作父组件使子组件获取焦点

子组件
一个输入框,带focus()函数可以自动获取焦点

class Input extends Component {
  focus() {
    this.el.focus();
  }

  render() {
    return (
      <input
        ref={el=> { this.el = el; }}
      />
    );
  }
}

父组件
在父组件内,通过ref获取子组件,并可调用其focus()函数

class SignInModal extends Component {
  componentDidMount() {
    // Note that when you use ref on a component,it’s a reference to
    // the component (not the underlying element),so you have access to its methods.
    this.InputComponent.focus();
  }

  render() {
    return (
      <div>
        <label>User name:</label>
        <Input
          ref={comp => { this.InputComponent = comp; }}
        />
      </div>
    )
  }
}

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...