2017-09-03 79 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

回答