代码之家  ›  专栏  ›  技术社区  ›  yevg

在React中实现硬重载

  •  1
  • yevg  · 技术社区  · 6 年前

    React应用程序加载在主路径上。也就是说,php被配置为加载 index.html /

    // ....
    <div id="react-hook"></div>
    
    <script>
        const wrapper = document.getElementById("react-hook");
        wrapper ? ReactDOM.render(<BrowserRouter><App /></BrowserRouter>, wrapper) : false;
    </script>
    

    (我实际上正在使用Webpack,但这是它的jist)

    react-router

    const Routes = () => (
    
        <div>                
            <Route exact path="/" component={Home} />
            <Route path="/login" component={Login} />
            <Route path="/test" component={Test} />
        </div>
    
    )
    

    并用一些链接呈现它们。

    <Link to="/>Home</Link>     
    <Link to="/login>Login</Link>
    <Link to="/test>Test</Link>
    

    .

    behavior: /test (hard route) ---> / (soft route)
    
    should be: /test (hard route) ---> /test (soft route)
    

    为React应用程序实现硬重载的正确方法是什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Charles Stover    6 年前

    / /index.html 不管你收到什么要求 /test /测试 /index.html文件

    try_files $uri index.html

    对于Apache,您可以使用 mod_rewrite (有点像 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* /index.html .

    <App /> )和页面加载时的响应路由器将使用页面URL进行相应导航,因此所有路由都使用相同的 index.html