将this传递过去,操作this,以实现相应功能的方式,暂且称为引用方式。如下:
class Test extends Component
{
render()
{
return (
<div>
{util.testCode(this)}
</div>
)
}
}
export default Test;
// 在Util文件中操作传递过来的this
testCode(that)
{
that.setState({
...
});
}
此种方式会造成嵌套较深,代码易读性较低,别人不容易看懂,自己回顾时需要更多时间思考,是哪里改变了state。所以更好的方式一定不是直接操作源类的this方式,让代码耦合性尽可能降低,是我们程序工程师的追求之一。
class Test extends Component
{
render()
{
return (
<div>
{util.testCode()}
</div>
)
}
}
export default Test;
testCode()
{
return 'test'
}
上面这种方式,不传递this,只让函数计算独立的功能,返回想要的值,例子可能不足够说明主题,但不要直接操作源类的this,避免掉入自己挖的坑中,是刚才这个坑中跳出来的老手的警告。祝珍重