我仍然是前端的新秀。我有2个NON RELATED(没有父/子关系)类:
search.js
Class Search{
method,
state
}
view.js
Class view{
content
}
我在尝试着:
附加信息:
谢谢!
码:
export default class Search extends Component {
constructor() {
this.state = {
input: ""
};
}
search(input) {
this.setState({ input: input });
}
}
如果类是不相关的,那么只有三种方法可以在类之外使用类的方法(或者,实际上,在它内部):
static
方法,请直接调用它:
Search.theStaticMethod()
const s = new Search(/*...*/);
s.prototypeOrInstanceMethod();
// ALMOST CERTAINLY NOT THE RIGHT THING
Search.prototype.prototypeMethod();
在将对象应用于对象的位置有一个变体,即使该对象不是通过new Search
创建的:
// ALMOST CERTAINLY NOT THE RIGHT THING
const obj = {};
Search.prototype.prototypeMethod.call(obj);
该方法将对象作为this
,并且可能会或可能不会正常工作,具体取决于它的编写方式。你需要一个已经回答过的类实例。
const myInstance = new Search();
您可以导出此实例而不是导出类。
export {myInstance};
在view.js中,您需要导入它
import {myInstance} from './relative-path';
然后你打电话给方法
myInstance.search('someInput');
采取比香草js更多的反应......可能已经回答了here甚至(原始)here
我有2个NON RELATED(没有父/子关系)类:
两者都在同一个屏幕/视图/应用程序/组件树中?然后间接但仍然相关。
我在尝试着:
- 从view.js调用search.js方法。
- 从view.js更改search.js的状态值
有几种方法可以管理常见状态(值或方法):
<App />
组成部分