首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从react页面导航到纯HTML页面

从react页面导航到纯HTML页面
EN

Stack Overflow用户
提问于 2018-07-26 12:54:49
回答 2查看 933关注 0票数 1

因此,我有一个单页面react应用程序,我正在尝试实现一个按钮,当单击该按钮时,它将加载一个完全不同的页面,该页面具有自己的HTML、JS和CSS。我以为我已经明白了逻辑,但当我点击按钮时,它只是再次加载我的react应用程序,并重置所有状态,这样它就永远不会离开。

由于某些原因,它实际上只是将它重新渲染得非常小。

它看起来是这样的:

这是我使用的一般逻辑。

在我的状态下,加载页面状态最初设置为false。loadPage: false

然后在我的页面上,我有一个按钮,当点击时调用这个函数

代码语言:javascript
复制
loadPage() {
    this.setState({
        loadPage: true
    });
}

最后,在我的渲染函数中,如果状态允许,我有一个if来加载外部页面

代码语言:javascript
复制
render() {
        if(this.state.loadPage){
            return (
                <iframe id="pageDiv" src='path to html file'/>
            )
        }

我遇到的问题似乎是,当我单击按钮并更改状态时,应用程序会重新渲染,但同时会重置现有状态。

我只想有一个按钮,当点击时,完全导航离开我的反应页面,并加载这个单独的html页面。它们在同一个项目中,所以它不会加载URL,而是加载HTML文件。

EN

回答 2

Stack Overflow用户

发布于 2018-07-26 16:18:53

我认为你需要像这样包装在一个:

代码语言:javascript
复制
 render() {
     if(this.state.loadPage){
         return (
    <a href=" path to html file">
    <iframe id="pageDiv"/>
    </a>
         )
     }

或者您也可以使用react-r

代码语言:javascript
复制
import { Link } from "react-router-dom";

 render() {
     if(this.state.loadPage){
         return (
    <Link to=" path to html file">
    <iframe id="pageDiv"/>
    </Link>
         )
     }

希望这对你有所帮助

票数 1
EN

Stack Overflow用户

发布于 2018-07-26 13:03:06

您正在尝试将新页面加载到iframe中,这就是为什么它是这样发生的。如果要导航到新页,请使用

window.location = "/anotherpage"; --用于同一域中的另一个页面

window.location = "http://newpage_url.com"; --用于其他域中的页面

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51531249

复制
相关文章

相似问题

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