首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在用forwardRef定义的子组件中调用函数

在用forwardRef定义的子组件中调用函数
EN

Stack Overflow用户
提问于 2019-01-13 20:07:30
回答 1查看 571关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
复制
                                      App  [4]
                                       |
                     ___________________________________
                    |                                   |
                  Child1   [3]                        Child2  [5]
                    |                                   |
                  Child1a  [2]                function displayProperty()  [6]
                    |
            function onSetProperty()  [1]

我刚刚开始学习React,并尝试不使用Redux状态管理来理解组件之间的内置通信通道。在调用子组件上的函数时,有人能提供一些关于最佳实践的指导吗?

我目前使用useRefuseImperativeMethods的方法是可行的,但我不确定这是否是一个最佳实践,因为docs状态“在大多数情况下都可以/应该避免使用ref的命令式代码”。

这是应该使用带有forwardRefuseImperativeMethods的那种情况吗?

当前的程序流程是:

  • 在Child1a组件中设置属性值
  • onSetProperty事件是通过Child1a => Child1 =>应用程序出现的。
  • App组件包含一个变量'const child2Ref = useRef()‘
  • Child2被定义为: const Child2 = forwardRef((props,ref) => { useImperativeMethods(ref,() => ({ displayPropertyOption(value) { console.log(The value is ${value});} ));

https://reactjs.org/docs/hooks-reference.html#useimperativemethods

EN

回答 1

Stack Overflow用户

发布于 2019-01-13 20:13:37

您总是希望状态处于最需要的/可能的组件级别。要修改该状态或在子组件中显示它,您可以将状态变量和函数(修改该状态)本身传递给调用给定函数的子组件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54172728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档