从另一个组件调用功能(反应)

时间:2019-03-31 18:40:35

标签: javascript reactjs

(反应) 我在一个组件(名为SideLogo的类)中有一个函数

toggleStatus(flag = !this.state.turned) {
    this.setState({turned: flag})
}

我在组件中还有另一个功能

_enterHandler() {
    SideLogo.toggleStatus()
}

我正在尝试调用toggleStatus()

1 个答案:

答案 0 :(得分:0)

正如SakoBu所述,您可以使用道具公开函数。 看看这个小提琴:https://jsfiddle.net/wzhdampx/

在您的其他组件中:

  _enterHandler() {
    this.toggleStatus();
  }

  render() {
    return <SideLogo toggleStatus={func => this.toggleStatus = func} />;
  }

在SideLog组件中:

componentDidMount() {
    const { toggleStatus } = this.props;
    if (toggleStatus) {
        toggleStatus(this.toggleStatus);
    }
}