перенаправление реакционного маршрутизатора не работает должным образом - PullRequest
0 голосов
/ 18 марта 2019

Я использую последнюю версию приложений create-реагировать, mobx-реагировать, материал-пользовательского интерфейса и реагировать-маршрутизатор.Когда я пытался перенаправить на другой компонент, используя 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);

1 Ответ

1 голос
/ 18 марта 2019

A Redirect должно быть обработано, но сейчас вы просто возвращаете его с вашего клика.Вы должны установить определенное состояние на вашем щелчке, который будет условно отображать ваш Redirect.Булево будет делать работу.

...