2017-06-16 17 views
0
export default class Root extends React.Component{ 

    constructor(props) { 
    super(props); 
    } 

    dealsCallBack = (dealListFromHome)=>{ 
    console.log("deals from home"+dealListFromHome); 
} 
    render(){ 
    return(
     <div> 
     <Header/> 
     <Switch> 
      <Route exact path="/" component={Home}/> 
      <Route exact path="/mall/:id" component={MallDetail}/> 
      <Route path="/home/:location" render={(props) => (<Home passDealsToRoute ={this.dealsCallBack} {...props}/>)} /> 
      <Route exact path="/about" component={About}/> 
     </Switch> 
     <Footer/> 
     </div> 
    ); 
    } 
} 

コンポーネントホームからpassDealsToRouteにアクセスするにはどうすればよいですか? this.props。 passDealsToRoute(theList)が機能していません。ルータ4がルート内のパラメータを渡す

+0

あなたの要件はこの質問と同じです。https://stackoverflow.com/questions/44255415/react-router-4-1-1-this-props-route-is-undefined/44255850#44255850ホームコンポーネントは2つの異なるルートで呼び出されており、最初のコンポーネントはその小道具を提供しないため、その場合は失敗する可能性があります。 –

+0

私のバージョンは同じ4.1.1を使用する前にチェックを提供しようとするが、私は小道具を取得していない。 passDealsToRouteであり、これもコールバックです。 –

+0

@ShubhamKhatriだから、正確なURL(paramsとw/o paramsの両方) –

答えて

0
constructor(props) { 
    super(props); 
    this.dealsCallBack = this.dealsCallBack.bind(this); 
    } 

が回答を得ました。 this.dealsCallBack = this.dealsCallBack.bind(this);この行で問題が解決されました。

関連する問題