React componentDidMount没有触发

时间:2019-02-25 15:38:13

标签: javascript reactjs routes react-router

我在React中有以下路线:

<Route
    path={`${this.props.match.path}horoskop`}
    render={() => <HoroscopeController
        horoscopeService={this.horoscopeService}
        fortuneTellerService={this.fortuneTellerService}/>}/>

和以下控制器:

class HoroscopeController extends React.Component {
    constructor(props) {
        super(props);

        console.log("hejhej");
    }

    componentDidMount() {
        console.log("testing);
    }

    render() {
        ...
    }
}

我总是在控制台中看到“ hejhej”(从构造函数看),当我进入http://localhost:3000/horoskop时,我在控制台中看到“测试”,但是当我进入http://localhost:3000/horoskop/vattumannen时却没有。我曾尝试在隐身浏览器中直接进入子路径,但这无济于事。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在路线定义的路径末尾添加一个星号,如下所示:

path={`${this.props.match.path}horoskop*`}