javascript - 在 React 中通过两个组件内部的按钮切换两个组件的可见性

标签 javascript reactjs

我有这个结构

组件 1

import React, { useState } from 'react'

export default function Component1() {
    return (
        <div>
            <button onClick={handleChange}></button>
        </div>
    )
}

组件 2

import React, { useState } from 'react'

export default function Component2() {
    return (
        <div>
            <button onClick={handleChange}></button>
        </div>
    )
}

和家长

import React from 'react'

export default function Parent() {
    return (
        <div>
            <Component1 />
            <Component2 />
        </div>
    )
}

问题是,如何在父级中没有按钮的情况下在两者之间切换可见性。只是每个组件内的按钮。 - 默认情况下,Component1 应该可见,当您按下 Component1 中的按钮时,它将隐藏它并显示 Component2,反之亦然。

我尝试在 Component1 按钮上使用 useState Hook ,但我不确定如何导出状态并将其添加到父组件。

    const [showMini, setShowMini] = useState(false);

    const handleChange = () => {
      setShowMini(true);
    }

这可能吗?或者可以只用父级中的一个按钮来控制这两个按钮? 谢谢

最佳答案

试试这个:

import React from 'react'

export default function Parent() {
    const[show,setShow]=useState(false);
    const handleChange=()=>{
        setShow(!show);
    }
    return (
        <div>
            {show ? <Component2 handleChange={handleChange}/> : <Component1 handleChange={handleChange}/>}
        </div>
    )
}

Component1 内部有这个:

import React, { useState } from 'react'

export default function Component1({handleChange}) {
    return (
        <div>
            <button onClick={handleChange}></button>
        </div>
    )
}

对组件2进行类似的操作

关于javascript - 在 React 中通过两个组件内部的按钮切换两个组件的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65898679/

相关文章:

javascript - HTML 5视频播放器用给定的数字更新currentTime

javascript - 如何在上一个动画结束后开始播放动画?

javascript - 如何在谷歌表格中获取更新的单元格值

javascript - 基于配置值的 Webpack 条件构建

reactjs - 如何在 React 应用程序之间共享 redux 代码

javascript - 检测隐藏表单域的变化

javascript - JSON 对象的长度

javascript - ReactJS 中的 this.state 和 this.setstate 有什么区别?

css - 在两行文本后添加省略号和工具提示 - React

javascript - Redux - reducers/action creators 没有正确链接到组件