React/ES6 - >如何从另一个组件调用React组件类方法?
问题描述:
是否可以从类/组件中调用其他(React)组件的类方法?React/ES6 - >如何从另一个组件调用React组件类方法?
例子:
// file x.js
import React, { Component } from 'react'
class X extends Component {
methodY() {
console.log('methodY')
}
render() {
return <div />
}
}
export default X
// file z.js
import React, { Component } from 'react'
class Z extends Component {
render() {
return <button onClick={X.methodY} />
}
}
export default Z
答
它可能从技术角度来看是可能的 - 但你真的不应该。
当开始使用新的框架来接受其社区的意识形态和模式时,这很重要。在React的情况下,不存在类和方法之类的东西。相反,只有组件和数据(和一些扩展状态)。
正在关注flux原理,您应该尝试以一种数据以单一方式流动的方式构建您的应用程序。从顶部到底部。
代替组分Z
调用部件
X
函数
这样,,可以有X接收功能从父组件修改组件的状态,然后使一个新值X
。如您所见,父组件现在负责处理状态并将不同的兄弟组件连接在一起。
随着您对React的深入探讨,您可能会开始使用Redux来提取数据的完整逻辑,并完全将状态置于组件之外。你最终会得到什么是演示组件和容器组件。
+0
很好的答案!我喜欢。 –
结帐https://facebook.github.io/react/docs/refs-and-the-dom.html – Abhishek
Simon Boudrias的回答非常准确。 –