当传递的参数不起作用时,React Router

时间:2019-07-04 21:56:31

标签: javascript reactjs react-router-dom

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

这行代码在浏览器控制台上引发错误--->“ Uncaught SyntaxError:Unexpected token

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

没有'/:link'可以正常工作并且呈现完美。

我不知道如何使用"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 :(得分:0)

您的代码看起来还不错,因此解决方案之一是按npm install可能会解决问题,其次您可以搜索您的项目并检查publicPath是否设置为publicPath: '/',祝您好运:)

答案 1 :(得分:0)

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

如果您将上述内容声明为路由,并使用类似以下内容的网址

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”