注意:抱歉,我最初认为这是React特定的语法,因为我不熟悉ES6类语法。
我最初的问题是:
您如何在ES6类之外生成类似render() {}
的方法?
允许该语法在类内但不允许在外部的内幕是怎么回事?
为了澄清---这是正常功能:
function myMethod() {console.log('yay')}
myMethod() // ---> yay
但是,如果您定义像React生命周期方法那样的函数--- myMethod() {console.log('boo')}
-
它会产生语法错误unexpected token {
答案 0 :(得分:1)
如何生成可以像
render() {}
那样调用的方法
那是不可能的。 render() {}
行是一个函数定义。
在react中,您正在定义诸如componentDidMount
和render
之类的方法。这些是React lib期望组件具有的方法。然后,React将在组件生命周期的某些时间调用这些方法。因此,它们被称为lifecycle
方法。