Javascript 在组件内部和外部声明函数有什么区别吗';谁的身体?

Javascript 在组件内部和外部声明函数有什么区别吗';谁的身体?,javascript,reactjs,Javascript,Reactjs,考虑以下示例: constfoo=string=>bar+string; 类示例扩展了React.Component{ foo=string=>bar+string 渲染=()=> {foo(“asd”);this.foo(“asd”)} }对于React Native,在类之外声明函数就像创建静态函数一样。如果将函数放置在类中,则会为该类的每个实例创建该函数,在这种情况下,这些实例是不必要的 在您的示例中,我将考虑FoE()是否应该仅在该文件中使用,还是在其他文件中使用。对于后者,创建一个

考虑以下示例:

constfoo=string=>bar+string;
类示例扩展了React.Component{
foo=string=>bar+string
渲染=()=>
{foo(“asd”);this.foo(“asd”)}


}
对于React Native,在类之外声明函数就像创建静态函数一样。如果将函数放置在类中,则会为该类的每个实例创建该函数,在这种情况下,这些实例是不必要的

在您的示例中,我将考虑FoE()是否应该仅在该文件中使用,还是在其他文件中使用。对于后者,创建一个名为utils/的单独文件夹,将函数放在其中,并在需要的地方导入它

当涉及到道具时,您可以在类之外创建函数,并使用call()调用它,然后可以访问道具:

foo.call(这个)


constfoo=()=>console.log(this.props)

如果函数使用
访问组件属性/方法,则是,它应该是组件的一部分。如果你把代码放在
中,它实际上会成为构造函数的一部分。如果您不使用实例,这不是您想要的