javascript - Javascript用自身的绑定版本替换函数是否不好
问题描述
我有一个反应组件,它必须将一个方法传递给它的孩子,以便他们可以修改状态。所以我创建了一个允许这样做的函数。我知道我应该将父组件绑定到this
函数的参数,以便子组件可以成功修改状态。我想这样做的原因很愚蠢:我只是不知道绑定版本的名称¯\_(ツ)_/¯。所以想要做的是:
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.modifyState = this.modifyState.bind(this);
}
modifyState() { /* blah blah*/ }
render() {
return(
<Child modifyState={this.modifyState} />
);
}
}
现在我的问题是:我真的不想这样做有什么原因,它会导致任何问题吗?
我问的原因是,如果没有缺点,为什么不让它成为它的默认行为,在其他语言中,它this
始终是定义函数(方法)的类的实例。如果您想要当前行为(this
根据我的理解是调用该函数的对象),只需声明一个全局函数。
解决方案
推荐阅读
- c++ - 如何为新项目使用仪器驱动程序和头文件/静态库
- ios - 使用自定义 UITableIView 时无法将具有标识符的单元格出列
- tfs - DevOps Server 2019.0.1(Azure DevOps 错误 - TF30063:您无权访问 tfs。)
- docker - 如何在docker中覆盖cmd?
- ios - 如何使用 Firebase 动态链接在 iOS 中配置深度链接?
- c++ - 为什么向量会发生这种情况
- java - 为什么 Optional.of().ifPresent() 会在 ifPresent() 内部创建一个 Optional?
- c - struct 成员上的 free() 仅在 Debug 中导致 Hardfault
- reactjs - 如何在 react.js 中加载 gltf 文件
- python - 将索引值与 loc 选择进行比较