2017-09-16 26 views
0

私の問題はReact router appending query to URLに似ているが、私は、私は歴史から追加の余分なクエリのparamを除外することができますどのように、スイッチとroutes.In私の場合で、ルータ4を反応させる使用していますか?リアクトルータ4余分なクエリのparam追加

render(){ 
return(
    <div> 
    <Header/> 
    <Switch> 
     <Route exact path="/" render={(props) => (<Home passDealsToRoute ={this.dealsCallBack} {...props}/>)}/> 
     <Route exact path="/mall/:id/:store_id/:deal_id" render={(props) => (<MallDetail deals ={this.deals} {...props}/>)}/> 
     <Route exact path="/mall/:id/:store_id" render={(props) => (<MallDetail deals ={this.deals} {...props}/>)}/> 
     <Route exact path="/mall/:id" render={(props) => (<MallDetail deals ={this.deals} {...props}/>)}/> 
     <Route path="/home/:location" render={(props) => (<Home passDealsToRoute ={this.dealsCallBack} {...props}/>)} /> 
     <Route exact path="/about" component={About}/> 
    </Switch> 
    <Footer/> 
    </div> 
);}} export default withRouter(Root); 

私のインデックスファイル

import React from 'react'; 


import {BrowserRouter,Route} from 'react-router-dom'; 
import {render} from 'react-dom'; 
import Root from './components/root/root'; 
import { createBrowserHistory } from 'history'; 
const history = createBrowserHistory({queryKey: false}); 

class App extends React.Component { 
render() { 
    return(
    <BrowserRouter history={history}> 
     <Route path={"/"} component={Root}/> 
    </BrowserRouter> 
    ); 
} 
}; 

render(<App/>,window.document.getElementById('app')); 

答えて

1

バックファイル(私はindex.jsを推測)あなたは<BrowserHistory />を使用して、以下を追加しているに移動:あなたからcreateBrowserHistoryをつかむだろう

注意"history"パッケージは "react-router-dom"ではありません また、 "queryKey:false"が答えです。

import { BrowserRouter } from 'react-router-dom'; 
import { createBrowserHistory } from 'history'; 

const history = createBrowserHistory({queryKey: false}); 
//..... 

<BrowserRouter history={history}> 
    // Your routes here ... 
</BrowserRouter > 

注:

あなたは<Switch />コンポーネントを活用しているので、すべてのルートを逆に正確な&を除去することによって、より良いあなたのルートを編成することができます。

+0

のでmuch.I'veはそれを追加それはまだすべてのAPIコールで、余分なクエリのparamを渡していただきありがとうございます。 &_ = 1505635138301。インデックスファイルを追加しました。 –

+0

あなたの答えは私にreact.Thanksトンのルータ&歴史概念を理解するためにたくさん助けtrue.Anyhowキャッシュを追加することにより、固定:) –

0

実際の原因は反応ルータのためではなく、ajax api呼び出しです。私はajax呼び出しで'cache':trueを作成して問題を解決しました。私の問題を修正しました.Abdennourによって投稿された回答は、 。

関連する問題