React道具未定义

pyp*_*ism 3 javascript reactjs react-router

我试图通过react-router将道具从一个组件传递到另一个组件.当我尝试从子组件获取道具时,我得到了这个消息TypeError: this.props.params.appState is undefined.这是我的代码:

Tracks.jsx:

import { observable } from 'mobx';


export default class Tracks {
    @observable tracks = [];

}
Run Code Online (Sandbox Code Playgroud)

app.jsx:

.......
import Tracks from './store/Tracks.jsx';

......
const appState = new Tracks();

ReactDOM.render(
    <Router history={browserHistory} >
        <Route path="/" component={Login} />
        <Route path="/dashboard" onEnter={authRequired} component={Main}>
            <Route path="album/create" component={AlbumCreate} />
            <Route path="album/:id" component={Album} appState={appState}/>
            <Route path="album/:id/upload"  component={Upload} />
        </Route>
    </Router>,
    document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)

Album.jsx:

.....
@observer
export default class Album extends React.Component {

    constructor(props) {
        super(props);
    }
componentDidMount () {
        console.log(this.props.params.appState.tracks);
    }

.....
Run Code Online (Sandbox Code Playgroud)

Kok*_*lav 6

改变这一点

this.props.params.appState
Run Code Online (Sandbox Code Playgroud)

this.props.route.appState
Run Code Online (Sandbox Code Playgroud)

Params是URL的动态段,用于需要路由的道具