【问题标题】:How to wrap a class from a render method into OnClickOutside via ReactJS?如何通过 ReactJS 将渲染方法中的类包装到 OnClickOutside 中?
【发布时间】:2016-09-30 19:44:34
【问题描述】:

我将 EmojiPicker 与 ReactJS 一起使用。如果我在 EmojiPicker 外部单击,我必须关闭它。怎么做?我正在尝试使用 onClickOutside,但我需要将 EmojiPicker 包装到其中并添加特殊方法,该方法将更改 Conversation 类的状态(isOpened 为 false)。因此,首先我必须将 handleClickOutside 方法添加到 EmojiPicker,这会将 Conversation 的状态 (isOpened) 更改为 false。

这是我的代码示例:

class Conversation extends React.Component {
    constructor() {
        super();
        this.state = {
            isOpened: false
        }
    }
    render(){
        return (
            <div>
                ...OTHER THINGS...

                <EmojiPicker className={this.state.isOpened ? " " : "display-none"} />

                ...OTHER THINGS...
            </div>
        )
}
export default  OnClickOutside(EmojiPicker);

有人可以帮帮我吗?

【问题讨论】:

    标签: javascript reactjs emoji emojione


    【解决方案1】:

    我发现这篇关于为组件提供动态超类的有趣文章。它的方法可能适用于这个用例。 http://www.mikedoesweb.com/2017/dynamic-super-classes-extends-in-es6/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2018-07-27
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2014-11-10
      相关资源
      最近更新 更多