react-router服务器渲染match方法之renderProps内部结构。
下面是react-router的match方法中的renderProps属性的内部签名:
其中renderProps包含routes,params,location,components,router,matchContext属性。
{ //renderProps包含routes对象 routes: [ { path: '/', component: [Function: App], IndexRoute: [Object], childRoutes: [Object] }, { component: [Function: Home], path: 'home' } ], //renderProps包含params对象 params: {}, // renderProps包含location对象 location: { pathname: '/home', search: '', hash: '', state: undefined, action: 'POP', key: '34hg49', query: {} }, // renderProps包含components对象 components: [ [Function: App], [Function: Home] ], // renderProps包含router对象 router: { getCurrentLocation: [Function: getCurrentLocation], listenBefore: [Function: listenBefore], listen: [Function: listen], transitionTo: [Function: transitionTo], push: [Function: push], replace: [Function: replace], go: [Function: go], goBack: [Function: goBack], goForward: [Function: goForward], createKey: [Function: createKey], createPath: [Function: createPath], createHref: [Function: createHref], createLocation: [Function: createLocation], canGo: [Function: canGo], unsubscribe: [Function: unsubscribe], setRouteLeaveHook: [Function: listenBeforeLeavingRoute], isActive: [Function: isActive], location: { pathname: '/home', search: '', hash: '', state: undefined, action: 'POP', key: '34hg49', query: {} }, params: {}, routes: [ [Object], [Object] ] }, // renderProps包含matchContext对象 matchContext: { transitionManager: { isActive: [Function: isActive], match: [Function: match], listenBeforeLeavingRoute: [Function: listenBeforeLeavingRoute], listen: [Function: listen] }, router: { getCurrentLocation: [Function: getCurrentLocation], listenBefore: [Function: listenBefore], listen: [Function: listen], transitionTo: [Function: transitionTo], push: [Function: push], replace: [Function: replace], go: [Function: go], goBack: [Function: goBack], goForward: [Function: goForward], createKey: [Function: createKey], createPath: [Function: createPath], createHref: [Function: createHref], createLocation: [Function: createLocation], canGo: [Function: canGo], unsubscribe: [Function: unsubscribe], setRouteLeaveHook: [Function: listenBeforeLeavingRoute], isActive: [Function: isActive], location: [Object], params: {}, routes: [Object] } } }