我正在使用最新版本的 create-react-app、mobx-react、material-ui 和 react-router。当我尝试使用Redirect
组件重定向到其他组件时,它不起作用。然后我按照这个答案,问题仍然存在。
我的代码:
//App.js
// other imports
import { withStyles } from '@material-ui/core/styles';
import Cart from "./stores/Cart";
const cart_counter = new Cart();
class App extends Component {
render() {
return (
<Router>
<React.Fragment>
<Route path="/" exact render={(props) => <Index {...props} cart_counter={cart_counter}/>} />
<Route path="/product/:slug" render={(props) => <Product {...props} cart_counter={cart_counter}/>} />
</React.Fragment>
</Router>
);
}
}
export default App;
// Index.js
class IndexComponent extends React.Component {
moveToProduct(slug) {
return <Redirect push to={"/product/" + slug} />;
}
render() {
return (
<Grid item xs={6} sm={3} key={product.id}>
<Card onClick={() => {this.moveToProduct(product.slug)}}>
</Grid>
)}
const Index = withRouter(observer(IndexComponent));
export default withStyles(styles)(Index);