我有以下ReactJS类:
import React from 'react'
export class Content extends React.Component {
static getValue(key) {
return key
}
render() {
let value = this.getValue(this.props.valueKey);
return <span dangerouslySetInnerHTML={{__html: value}} />
}
}
但我有以下错误:
TypeError: this.getValue is not a function
我不明白。这是调用静态函数的好方法吗?我认为反应是用静电做的,但我不知道是什么。
答案 0 :(得分:43)
需要在类而不是实例上访问静态方法。所以在你的情况下,使用:
Content.getValue()
但是,静态方法无法访问this
- 根据您上面的代码示例,我不认为您希望该方法是静态的。
答案 1 :(得分:12)
您可以在课程中以this.constructor.getValue
进行访问。
编辑:我添加了一个JSFiddle DEMO。我做的唯一改变是从构造函数添加函数调用并删除危险的setHTML - 如图所示,你可以从this.constructor访问getValue静态,并且工作得很好。