考虑以下示例:
const foo = string => "bar" + string;
class Example extends React.Component {
foo = string => "bar" + string
render = () => <p>
{foo("asd"); this.foo("asd")}
</p>
}
我唯一想到的是,组件体内的函数可以访问其属性,例如props,state以及包括函数在内的体内任何东西,但是我们也可以将它们作为外部函数的参数进行传递。那么,这是唯一的“优势还是劣势”?或者还有更高级的东西?
答案 0 :(得分:1)
对于React Native,在类外部声明一个函数就像创建一个静态函数。如果将函数放置在类中,则将为该类的每个实例创建该函数,在这种情况下将是不必要的。
在您的示例中,我将考虑foo()应该只在该文件内使用还是在其他文件内使用。对于后者,请创建一个名为utils /的单独文件夹,将函数放在其中,然后将其导入您需要的位置。
关于道具,您可以在类外部创建函数并使用call()调用它,然后可以访问道具:
foo.call(this);
const foo =()=> console.log(this.props);