如何在路线上使用achor链接以最佳方式做出反应

时间:2017-11-30 16:28:47

标签: reactjs react-router

您好我有一个应用程序,您可以通过https://selly-midtrans.herokuapp.com/访问它但如果您从其他页面点击clients菜单,例如:您在页面features中并点击{ {1}}菜单。然后应用程序将直接导航到clients,但之后反应会重新呈现应用程序。

所以我的问题是如果我们已经按照我的网站进入某个部分,如何停止对渲染的反应,

我的索引文件

home#client

我的路由器文件(此文件导入到apps.js)

ReactDOM.render(
 <BrowserRouter>
    <App />
  </BrowserRouter>, 
    document.getElementById('root')); 
registerServiceWorker();

我的导航

class Routing extends Component {
  render() {
    return (
        <div>
            <Route exact path='/' component={Home}/>        
            <Route path="/home" component={Home} />
            <Route path="/index" component={Home} />
            <Route path="/client" component={Client} />
            <Route path="/contact" component={Contact} />
            <Route path="/features" component={Feature} />
            <Route path="/privacy" component={Privacy} />
            <Route path="/faq" component={FAQ} />
        </div>
    );
  }
}

并且我已经尝试使用<li><a href='features'>Features</a></li> <li><a href='home#clients'>Clients</a></li> <li><a href='faq'>Support</a></li> <li><a href='contact'>Contact</a></li> 代码,但是当我使用它时,它会重定向到Link部分,但应用程序未完全呈现

1 个答案:

答案 0 :(得分:1)

您的路由器配置正确,否则您将无法导航到任何视图。通过使用类似于当前的href,页面将始终刷新,因此必须使用Link标记。如果页面使用Link标记正确呈现,则对于渲染/组件生命周期方法来说,这听起来更像是一个问题。

使用链接标记时,您需要进一步解释页面无法正确呈现的内容。