6

在我的主要组件中,我创建了一个 ref :

this.transfernewRef = React.createRef();

并将其分配给我的组件,该组件嵌入在 Route 中:

<Route path="/new" render={(props) => <TransferNew {...props} origin={this.state.origin} token={this.state.token} ref={this.transfernewRef} />}/>

我的组件 TransferNew 也使用 react-loadable 及其 Loadable 组件动态加载。如果我打印 this.transfernewRef.current,我会得到一个 LoadableComponent 对象:

在此处输入图像描述

如何从那里访问我的组件 TransferNew?我似乎找不到合适的方法来做到这一点。我只想调用一个 TransferNew 的函数,所以按照这些思路:

this.transfernewRef.current.<something>.myFunction()

谢谢你。

4

1 回答 1

1

我有同样的问题。我的解决方案

import Loadable from "react-loadable";
import { Loading } from "components/Loading";

const Dropzone = Loadable({
  loader: () => import("view/components/knowledge/components/Dropzone.jsx"),
  loading: Loading,
  render(loaded, props) {
    const Component = loaded.default;
    const ref = props.DropzoneRef || undefined;
    return <Component {...props} ref={ref} />;
  },
});
于 2020-01-29T13:05:24.970 回答