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 
+0

结帐https://facebook.github.io/react/docs/refs-and-the-dom.html – Abhishek

+0

Simon Boudrias的回答非常准确。 –

它可能从技术角度来看是可能的 - 但你真的不应该

当开始使用新的框架来接受其社区的意识形态和模式时,这很重要。在React的情况下,不存在类和方法之类的东西。相反,只有组件数据(和一些扩展状态)。

正在关注flux原理,您应该尝试以一种数据以单一方式流动的方式构建您的应用程序。从顶部到底部。

代替组分 Z调用部件 X函数

这样,,可以有X接收功能从父组件修改组件的状态,然后使一个新值X。如您所见,父组件现在负责处理状态并将不同的兄弟组件连接在一起。

随着您对React的深入探讨,您可能会开始使用Redux来提取数据的完整逻辑,并完全将状态置于组件之外。你最终会得到什么是演示组件和容器组件。

+0

很好的答案!我喜欢。 –