如何触发父提交?
How to trigger submit from parent?
我想调用子组件的提交方法。因此我使用 ref 道具。
但看起来我只是得到了一个 WithContext 对象。
那么如何在App > submitForm
.
中调用TodoForm > submit
这是一个 运行 示例:https://codesandbox.io/s/92nm15pnqr
因为您将 TodoForm
组件包装在 withNamespaces
HOC 中,所以获取对 TodoForm
的引用并不像调用 ref={..}
那样容易,因为 returns 引用 HOC。要获取对组件的引用,您必须在创建 HOC 时利用 innerRef
参数(参见 docs)
const TodoFormTranslated = withNamespaces("", {
innerRef: (ref) => VARIABLE_WHICH_WILL_NOW_CONTAIN_REF_TO_YOUR_EL = ref
})(TodoForm);
您的问题的快速但可行的解决方案如下所示:https://codesandbox.io/s/n55yvw1o2m
也许您不想要 class 之外的变量,所以我会把它留给您,您希望以哪种方式处理它。例如,您可以从 this post.
中获得灵感
我想调用子组件的提交方法。因此我使用 ref 道具。 但看起来我只是得到了一个 WithContext 对象。
那么如何在App > submitForm
.
TodoForm > submit
这是一个 运行 示例:https://codesandbox.io/s/92nm15pnqr
因为您将 TodoForm
组件包装在 withNamespaces
HOC 中,所以获取对 TodoForm
的引用并不像调用 ref={..}
那样容易,因为 returns 引用 HOC。要获取对组件的引用,您必须在创建 HOC 时利用 innerRef
参数(参见 docs)
const TodoFormTranslated = withNamespaces("", {
innerRef: (ref) => VARIABLE_WHICH_WILL_NOW_CONTAIN_REF_TO_YOUR_EL = ref
})(TodoForm);
您的问题的快速但可行的解决方案如下所示:https://codesandbox.io/s/n55yvw1o2m
也许您不想要 class 之外的变量,所以我会把它留给您,您希望以哪种方式处理它。例如,您可以从 this post.
中获得灵感