Реагировать на маршрутизатор, когда переданный параметр не работает

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

эта строка кода выдает ошибку в консоли браузера ---> "Uncaught SyntaxError: Unexpected token ‹ bundle.js:1"

<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));

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


person JourneyToDreamJobSucks    schedule 04.07.2019    source источник
comment
Здесь это выглядит нормально. Вероятно, это исходит от вашего компонента или откуда-то еще.   -  person AdityaSrivast    schedule 05.07.2019
comment
когда я перехожу к 'localhost:9000/confirmAccount, компонент перерисовывается. но когда я перехожу к 'localhost:9000/confirmAccount/someString', происходит сбой с Uncaught SyntaxError: Unexpected token ‹ bundle.js:1 ошибка. Я делаю что-то не так здесь?   -  person JourneyToDreamJobSucks    schedule 05.07.2019
comment
Можете ли вы опубликовать минимальный воспроизводимый код вашего компонента?   -  person AdityaSrivast    schedule 05.07.2019
comment
добавил минимальный компонент в вопрос   -  person JourneyToDreamJobSucks    schedule 05.07.2019


Ответы (2)


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

person Dzoni    schedule 04.07.2019
comment
output: { publicPath: '/' // ‹- добавление дает тот же результат. } это то, что вы имели в виду? - person JourneyToDreamJobSucks; 05.07.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"

person JourneyToDreamJobSucks    schedule 05.07.2019