React Router, когда передано param не работает - PullRequest
2 голосов
/ 05 июля 2019
<Route path='/confirmAccount/:link' component={ConfirmationPage} />

эта строка кода выдает ошибку на консоли браузера ---> "Uncaught SyntaxError: неожиданный токен

<Route path='/confirmAccount' component={ConfirmationPage} />

без '/: ссылка' отлично работает и прекрасно отрисовывает.

Понятия не имею, как это исправить с помощью "Uncaught SyntaxError: Unexpected token < bundle.js:1" в качестве сообщения об ошибке

import React from 'react';
import { connect } from 'react-redux'
import Grid from '@material-ui/core/Grid'

class ConfirmationPage extends React.Component {

    render() {
        //let loading = this.props.loading;
        let loading = true;
        return (
            <Grid container>
                <Grid>
                    {(loading) && 'Confirming Account. Please wait ....'}
                </Grid>
            </Grid>
        )
    }
}
const mapStateToProps = ({auth}) => {
    const { loading } = auth;
    return ({
        loading
    })
}
export default connect(mapStateToProps)(withStyles(styles)(ConfirmationPage));

ОБНОВЛЕНИЕ: решение этой конкретной проблемы в разделе ответов

Ответы [ 2 ]

0 голосов
/ 05 июля 2019
<Route path='/confirmAccount:hash' component={ConfirmationPage} />

, если вы объявляете вышеприведенное как маршрут и используете что-то вроде ниже в качестве URL

localhost:9000/cofirmAccountThisWorks

, что приводит к this.props.match.params.hash => ThisWorks

Я до сих пор не знаю, почему <Route path='/confirmAccount/:hash' component={ConfirmationPage} />выбросить ошибку, сказав Uncaught SyntaxError: Unexpected token <


ОБНОВЛЕНИЕ:


нашел ответ в другом посте -> https://stackoverflow.com/a/35302590/11711797

в моем индексном файле, который у меня был <script type="text/javascript" src="./bundle.js"></script> поэтому, если я хочу использовать параметры, я должен использовать <Route path='/confirmAccount:hash' component={ConfirmationPage} />

, а теперь, если я хочу использовать <Route path='/confirmAccount/:hash' component={ConfirmationPage} />, я должен изменить <script type="text/javascript" src="./bundle.js"></script> на => <script type="text/javascript" src="/bundle.js"></script> src = "./bundle.js "должен быть src =" / bundle.js "

0 голосов
/ 05 июля 2019

Ваш код выглядит нормально, поэтому одно из решений - нажать npm install, возможно, решит проблему, во-вторых, вы можете найти ваш проект и проверить, установлен ли publicPath на publicPath: '/', Удачи :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...