【发布时间】:2020-03-13 11:38:43
【问题描述】:
我正在使用带有 TypeScript 的 React,
我有一个名为 D3EngineTemp.tsx 的组件,如下所示。
import * as tree from './d3';
import React from "react";
import { UIHandler } from '../service/UIHandler';
const _UIHandler: UIHandler = new UIHandler();
class D3EngineTemp extends React.Component{
state = {
loading: true,
data: {}
}
changeDataSource(source:any){
this.setState({data: source, loading: false});
console.log(source);
this.forceUpdate();
}
componentDidMount(){
var _data = _UIHandler.getData();
this.setState({data: _data, loading: false});
console.log(_data);
}
render(){
if (this.state.loading) {
return <div>loading...</div>;
}
tree.draw(this.state.data)
return(
<div></div>
);
}
}
export default D3EngineTemp;
我想从任何外部 TypeScript 类调用组件的 changeDataSource 方法。这可能吗?
【问题讨论】:
-
据我所知,您可以通过将函数作为 prop 传递来在此类的子类中调用此函数
标签: reactjs typescript react-typescript