2017-09-03 34 views
3

我正在嘗試使用RR4以編程方式導航。我保存了一些數據後,我再要呈現一個Redirect這樣的:如何在渲染功能之外調用響應路由器4重定向?

handleSave =() => {  
    this.props.mutate({ 
     ... 
    }); 

    this.setState({ 
     org: null 
    }); 

    <Redirect to="/orgs" /> 
    // return <Redirect to="/orgs" /> // Tried this also 
}; 

我沒有得到一個錯誤,但Redirect沒有得到呈現。如果我在render功能添加一個switch語句,那麼它會工作:

render() { 
    return (this.state.rerender ? <Redirect to="/orgs" push /> : 
     <View> 
      ... 
     </View> 
     ) 
} 

這就像我想它,但我不喜歡三元聲明。有沒有辦法可以將Redirect添加到保存功能,就像我在第一個示例中嘗試的那樣?

+0

正如我注意到,你已經在你的渲染函數中推/ />你在處理函數中錯過了。還有一件事是 - 你檢查了你的handleSave()函數是否在調用。 – MukulSharma

+0

'handleSave'正在被調用。我試着用/不用推。 – jhamm

回答