javascript - 如何创建 ref 来调用函数组件的函数?

标签 javascript reactjs react-native methods ref

升级 React Native 0.60 后。 我尝试将所有类组件更改为功能组件。 对于我的动画,我喜欢使用 composant 的方法(我知道它并不真正推荐,但我更喜欢这样做,而不是创建一个状态变量并将其作为 Prop 传递......)。

例如,这是我的类(class)组成:

class Child extends PureComponent {
  animateOpen = () => {

  }
  render() {
    return (
      <View>
        {...}
      </View>
    );
  }
}

const PlayButton = ({ status, onPress }) => {
  const childRef = useRef(null);

  return (
    <View>
      <Button onPress={this.childRef.animateOpen} />
      <Child ref={childRef}/>
    </View >
  );
};

那么在这个例子中,我怎样才能将 Child composant 写成函数式 composant 呢?

最佳答案

子组件作为功能组件:

const Child = () => {
  const animateOpen = () => {}

  return (
    <View>
      {...}
    </View>
  )
}

关于javascript - 如何创建 ref 来调用函数组件的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57828622/

相关文章:

react-native - 我如何跳过动画仅替换为 react 导航

javascript - 如何使用 firefox 在 ssl 中缓存 javascript?

javascript - 在 Javascript 中使用自定义属性数据标签隐藏 div

javascript - 如何在调用下一个回调函数之前添加延迟?

javascript - 使用javascript设置div的大小

javascript - React Native ios运行问题

react-native - 使用 Fetch 执行超时错误 - React Native

reactjs - 如何仅在模态加载时获取数据

reactjs - React - 如何检测父组件的所有子组件何时对用户可见?

reactjs - 导出 Jest 和 ES6 未采用的默认路径