我想触发其他成分反应的组成部分。 什么是做到这一点的最好方法是什么? 我不想在Redux的商店,如“shouldShowMenu”创建新的标志。 我想在静态方法反应,但我不是专家的反应。
import Menu from './component/menu'
const clickfeed = () => {Menu.staticClickEvent()}
<Provider>
<Menu>
<Feed onClick={clickfeed}/>
</Provider>
我可以使用像这样的静态方法和我应该使用静态方法改变部件的状态。
你应该继续前进,创造shouldShowMenu
在你的终极版存储标志。 一旦你有了互动这样的部件,它是一个应用程序状态。 这似乎过度在第一,但一旦你开始具有跨组件共享的价值,这将节省你很多麻烦!
你不需要redux
这一点。 你可以用ref
来做到这一点。 希望能帮助到你!
<script src="https://unpkg.com/babel-core@5.8.38/browser.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="container"></div> <script type="text/babel"> //component 1 var Hello = React.createClass({ func: function() { console.log('I\'m inside Hello component') }, render: function() { return <div > Hello World< /div>; } }); //component 2 var Hello2 = React.createClass({ componentDidMount(){ //calling the func() of component 1 from component 2 using ref this.refs.hello.func() }, render: function() { return <Hello ref="hello"/>; } }) ReactDOM.render( < Hello2 / > , document.getElementById('container') ); </script>