Skip to content

Commit 34cf83f

Browse files
committed
Added stateless react elements support
This lets <Route /> accepts react stateless elements for its component and components props
1 parent f36f207 commit 34cf83f

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ To type this the `IInjectableProps` interface has all the properties defined tha
1111

1212
To use it extend your current Property interface with `IInjectableProps`.
1313

14-
```javascript
14+
```typescript
1515
import React from 'react';
1616
import { render } from 'react-dom';
1717
import { Link, Router, Route, IInjectedProps } from 'react-router';
@@ -31,6 +31,8 @@ class User extends React.Component<IInjectedProps,{}> {
3131
}
3232
}
3333

34+
const HelloMessage = (props) => <div>Hello {props.params.name}</div>;
35+
3436
class App extends React.Component<React.Props<{}>,{}> {
3537
render() {
3638
return (
@@ -50,6 +52,7 @@ render((
5052
<Router history={browserHistory}>
5153
<Route path="/" component={App}>
5254
<Route path="user/:userID" component={User} />
55+
<Route path="message/:name" component={HelloMessage}/>
5356
</Route>
5457
</Router>
5558
), document.getElementById('example'));

react-router.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ declare module ReactRouter {
440440
*
441441
* @type {Component<any>}
442442
*/
443-
component?: typeof React.Component;
443+
component?: React.ComponentClass<any> | React.StatelessComponent<any>;
444444

445445
/**
446446
* Routes can define one or more named components as an object of [name]: component pairs to be rendered when the path matches the URL. They can be rendered by the parent route component with this.props[name].
@@ -490,7 +490,7 @@ declare module ReactRouter {
490490
* }
491491
* @type {{ [name: string]: Component<any> }}
492492
*/
493-
components?: { [name: string]: typeof React.Component }
493+
components?: { [name: string]: React.ComponentClass<any> | React.StatelessComponent<any>; }
494494

495495
/**
496496
* Same as component but asynchronous, useful for code-splitting.

0 commit comments

Comments
 (0)