2

我想调用子组件的提交方法。因此我使用 ref 道具。但看起来我只是得到了一个 WithContext 对象。

那么怎么调用TodoForm > submit里面App > submitForm

这是一个运行示例:https ://codesandbox.io/s/92nm15pnqr

4

1 回答 1

0

因为您将TodoForm组件包装在withNamespacesHOC 中,所以获取对您的引用TodoForm并不像调用那么容易ref={..},因为这会返回对 HOC 的引用。要获取对您的组件的引用,您必须innerRef在创建 HOC 时利用该参数(请参阅文档

const TodoFormTranslated = withNamespaces("", {
  innerRef: (ref) => VARIABLE_WHICH_WILL_NOW_CONTAIN_REF_TO_YOUR_EL = ref
})(TodoForm);

快速但有效的问题解决方案如下所示:https ://codesandbox.io/s/n55yvw1o2m

也许您不想在课堂之外使用变量,所以我将把它留给您,您想以哪种方式处理它。例如,您可以从这篇文章中获得灵感。

于 2018-11-16T13:19:58.960 回答