组件在成为反模式之前有多独立?

时间:2016-07-10 19:17:35

标签: javascript reactjs

我了解React应用程序应遵循以下原则:

数据向下流动,事件冒泡

但是,我发现从子组件一直发送到root用户的鼠标点击等事件然后将新状态一直发送回来是非常麻烦的。我知道如果多个组件受新状态的影响,这种方法是有意义的 - 但请考虑以下示例:

var PSMenu = React.createClass({
    getInitialState: function() {
        return {
            isOpen: false     
        }
    },
    handleMenuClick: function(){
        console.log("hello worldd");
        this.setState({isOpen: !this.state.isOpen});
    },
    render: function() {
        return (
            <div className={this.state.isOpen ? "ps-menu ps-menu-open" : "ps-menu"}>
                <div className="ps-menu-button" onClick={this.handleMenuClick}>
                </div>
            </div>
        )
    }
});

在这里,我有一个菜单类,其中有一个按钮伸出。该按钮是用于打开和关闭菜单的切换按钮。我可以处理onClick组件中ps-menu-button div的PSMenu吗?根组件不知道发生了这种情况,但它没关系,因为它不应该关心。

如果此示例确实遵循React范例,请考虑以下内容。如果div ps-menu-button不是常规div而是嵌套在PSMenuButton内的名为PSMenu的React组件,该怎么办?如果父母不知道,我可以在彼此之间进行PSMenuPSMenuButton对话吗?

感谢您的任何见解。

0 个答案:

没有答案