reactjs - 删除reactjs中单击按钮上的组件

标签 reactjs

我在应用程序中有这样的结构,每个级别都是一个组件:

Assigning
├── Assignee (key='user0')
│   ├── AssigneeTask (key='user0task0')
|   |   └── button (onClick)
│   ├── AssigneeTask (key='user0task1')
|   |   └── button (onClick)
|   └── AssigneeTask (key='user0task2')
|       └── button (onClick)
├── Assignee (key='user1')
└── Assignee (key='user2')

当我使用组件的键单击其中的按钮时,我想删除 Assignee 组件,我该如何在reactjs中执行此操作? 我尝试将 key 传递给 onClick 并将 display 设置为 none,但我无法通过其 key 获取组件!

最佳答案

您可以使用状态/功能提升:

class Container extends Component {
    [...]
    render() {
        return this.state.opened && <ContainerButton clickedButton={this.close} />
    }

    close = () => {
        this.setState({opened: false});
    }
}

class ContainerButton extends Component {
    [...]

    render() {
        <button onClick={this.props.clickedButton} />
    }
}

如果您现在触发按钮上的 onClick,则会触发 Container 的关闭函数

关于reactjs - 删除reactjs中单击按钮上的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51478146/

相关文章:

javascript - 如何禁用 react-admin 的自动刷新功能

reactjs - 在 Redux 中间件中使用 React-intl 翻译的消息

javascript - 带有 JSX 和类的 ReactJS 'Hello World' 不向浏览器打印任何内容

reactjs - 管理 Azure 静态网站的 HTTP header

javascript - 检测 url(在 ReactJS 上)以隐藏页面上的元素

django - 如何在 Ubuntu 服务器上使用 create-react-app 通过 Webpack/React 配置 Django

reactjs - Material -ui : Table scroll to Top of new page

javascript - 在 React 组件中组合定义的 props 的最佳方法

javascript - ReactJS - 在所有数据输入状态后将我的加载更改为 false

javascript - React/JSX 动态组件名称