首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击按钮时加载新组件?

如何在单击按钮时加载新组件?
EN

Stack Overflow用户
提问于 2020-04-16 20:14:10
回答 1查看 164关注 0票数 0

当用户填写登录表单并单击submit按钮时,我想打开另一个组件,在我的示例<HomePage />中。我找了很多方法,但不知道为什么没有人和我一起工作。是否只有一个简单的方法来实现这一反应钩子?

登录组件

代码语言:javascript
复制
const submit_login = () =>{
    //code to open <HomePage /> Component
}

<form>
    <div>
        <input type="text" placeholder="username"/>
    </div>
    <div>
        <input type="password" class="form-control" placeholder="password"/>
    </div>
    <div>
        <input type="submit" onClick={submit_login}  value="Login"/>
    </div>
</form>

这是一个非常简单的场景,我认为这应该很容易实现。我试过router switchhashrouteruseHistoryhookrouter,但是这些都没有用。我发现的一些解决方案没有更新,因为我使用的是最新版本的ReactJS。

EN

回答 1

Stack Overflow用户

发布于 2020-04-16 22:26:38

这是一个例子。请查查

ParentComponent

代码语言:javascript
复制
import React, {useEffect, useState} from 'react';
import ChildComponent from "./ChildComponent";

function ParentComponent(props) {

    const [isVisible, setIsVisible] = useState(false);

    function showComponent(event) {
        setIsVisible(!isVisible);
    }
    return (
        <div>
            <button onClick={showComponent} >{isVisible? 'Hide':'Show'} Component</button>
            {
                isVisible? <ChildComponent/>:null
            }
        </div>
    );
}
export default ParentComponent;

ChildComponent

代码语言:javascript
复制
import React, {useEffect, useState} from 'react';

function ChildComponent(props) {

    return (
        <div>
            This is child component
        </div>
    );
}
export default ChildComponent;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61259256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档