这绝对不是重复。
这个问题是一个React问题。这被认为是重复的问题是直接的JavaScript。
问题是我如何发送我的React功能,而不是我如何引用这个或任何特定于"这个"。
这实际上非常有用,因为它显示了如何在REACT中更新状态!从一个组件到另一个组件,允许更多功能组件,这对于提高效率非常有用!!!!
太不公平了。
这绝对不是重复。
请删除重复的标记!
这是原始问题......
我对我继承的一些代码有几个问题。我在内联网上工作所以我必须输入我要问的样本。
第一个问题,我有一个"类"如下所示,它是JS类还是React类?我假设React ......
import React from 'react';
class SomeUtil {
constructor() {
this.doAbc = this.doAbc.bind(this)
}
doAbc(...){
...
}
}
export default SomeUtil;
我注意到没有super() - 我应该添加吗?
第二个问题与创建类似的课程有关,但我无法按照自己的意愿开展工作。
import React from 'react';
class SomeOtherUtil {
constructor(someCallback) {
this.externalCallback = someCallback
this.doXyz = this.doXyz.bind(this)
this.doXxz = this.doXxz.bind(this)
**//do i need to bind externalCallback here ?**
}
doXyz(...){
this.externalCallback('hello world!')
}
doXxz(...){
this.externalCallback('hello bob!')
}
}
export default SomeOtherUtil;
现在,当我使用SomeOtherUtil时,我想像这样使用它......
//inside a React Component
someRandomReactComponentMethod() {
let myUtil = new SomeOtherUtil(this.someRandomCallback)
myUtil.doXyz();
myUtil.doXxz();
}
//inside a React Component
someRandomReactComponentMethod() {
let myUtil = new DataUtil(this.setState)
myUtil.getThenSetData(...);
myUtil.getAnotherWayAndSetData(...);
}
我不得不这样做......
//inside a React Component
someRandomReactComponentMethod() {
let myUtil = new DataUtil((data)=>this.setState(data))
myUtil.getThenSetData();
myUtil.getAnotherWayAndSetData();
}
我仍然不相信这是上述问题的重复,但无论如何。
感谢您回答有关JS class vs React类的第一个问题。希望我能投半票。 :)我不确定我的第一个问题因为在顶部导入反应,它会被编译成反应类或直接JS。现在我知道了。此外,在我使用JS对象的过去,我不得不使用原型来创建一个新实例。所以这让我感到困惑。
答案 0 :(得分:1)
第一个问题,我有一个"类"如下所示,它是JS类还是React类?我假设React ......
React Components是扩展React.Component
的JavaScript类。这个例子不是:它只是一个类,并不像它实现组件接口。
//我需要在这里绑定externalCallback吗?**
这取决于它的调用方式。例如,如果您正在响应click
处理程序,那么您将要绑定它,以便处理程序的this
值引用组件而不是单击的元素。
答案 1 :(得分:0)
首先:不,你的课程没有扩展任何课程,所以你不必打电话给super
。我认为你会混淆像
class SomeComponent extends React.Component {
constructor(props) {
super(props)
...
}
}
第二,取决于你想要的this
上下文 - 如果你希望它是SomeOtherUtil
那么是,你需要绑定它......但你可能没有。