Reactjs 如何从类中导出函数,以便能够将其导入到另一个类中使用
明确地说,我正在学习打字脚本,并对spfx开发做出反应。我已经阅读并参与了关于各种源代码和堆栈溢出的教程和其他答案,但还没有找到足够的帮助 以下是我在EvalReqNewForm类getGrades中的函数:Reactjs 如何从类中导出函数,以便能够将其导入到另一个类中使用,reactjs,sharepoint,sharepoint-online,spfx,Reactjs,Sharepoint,Sharepoint Online,Spfx,明确地说,我正在学习打字脚本,并对spfx开发做出反应。我已经阅读并参与了关于各种源代码和堆栈溢出的教程和其他答案,但还没有找到足够的帮助 以下是我在EvalReqNewForm类getGrades中的函数: export default class EvalReqNewForm extends React.Component<IEvalReqNewProps, IEvalReqNewState> { constructor(props){ super(pro
export default class EvalReqNewForm extends React.Component<IEvalReqNewProps, IEvalReqNewState> {
constructor(props){
super(props);
this.state = {
EvalType: null,
JobTitReportTo: null,
JobTitReportToNum: null,
PropGradeList: [],
SelectedGrade: undefined,
CompPos: null,
ContextNewJobCode: null
};
this._onJobTitReportToChange = this._onJobTitReportToChange.bind(this);
this._onJobTitReportToNumChange = this._onJobTitReportToNumChange.bind(this);
this._onPropGradeChange = this._onPropGradeChange.bind(this);
}
我想在ComponentDidMount中使用另一个类的_getGrades函数,以便从SP列表中删除“Grades”
是否涉及使用道具?或者可以简单地将函数导出并导入到我想要使用它的类中
请理解我在这里学习基础知识 TL;博士
创建一个只依赖于其参数的函数,然后导出/导入它
或者可以简单地将函数导出并导入到我想要使用它的类中
您可以做的是创建一个只依赖于其参数的函数
所以会是这样的
export function getGrades(something){
// do what ever you want with something
return somethingYouDid
}
然后将其导入其他文件并像
import { getGrades } from '...'
...
public _getGrades() {
const results = getGrades(someDataFromSomeWhere)
this.setState({PropGradeList : results});
}
我还看到您正在使用承诺,所以在您的案例中可能需要使用async/await
编辑:
正如评论中所说的那样
我似乎不能在类中使用导出 您应该在类外使用它,您将不得不使用函数。 类的一个外部具有所有逻辑,另一个内部仅调用外部函数
export function getGrades(something){
// do what ever you want with something
return somethingYouDid
}
class ... {
...
public _getGrades() {
const results = getGrades(someDataFromSomeWhere)
this.setState({PropGradeList : results});
}
}
我似乎不能在类中使用导出。它说“导出修饰符不能出现在类元素上”。@Tom请检查我的编辑,你应该有一个类外的函数。我已经在另一个类中使用componentdidmount解决了这个问题,所以我在Web部件中有2个componentDidMounts。从长远来看,这有什么害处吗?我不明白你说的我在Web部件中有两个组件挂载是什么意思,你是说在同一个类中吗?那会给你一个机会error@Tom类外的函数应该具有逻辑,类内的函数应该调用类外的函数。因此,外部的函数应该有.map或异步调用,而类内部的函数应该有这样的.setState。
export function getGrades(something){
// do what ever you want with something
return somethingYouDid
}
class ... {
...
public _getGrades() {
const results = getGrades(someDataFromSomeWhere)
this.setState({PropGradeList : results});
}
}