Skip to content
This repository was archived by the owner on May 23, 2018. It is now read-only.

Commit 8a388fa

Browse files
committed
feat: register listener in mixin only if existing
1 parent 618157b commit 8a388fa

File tree

8 files changed

+27
-22
lines changed

8 files changed

+27
-22
lines changed

README.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,26 @@ and mixins as functional as possible.
1616
This makes the use of Router5 with React very flexible, and you can choose how to organise your
1717
code. Below is one example of how you can use those helpers:
1818

19+
1920
```javascript
21+
import React from 'react'
22+
import {Router5} from 'router5'
2023
import {linkFactory, segmentMixinFactory} from 'router5-react'
21-
import Router5 from 'router5'
2224

23-
let router = Router5()
24-
.addNode('users', '/users')
25-
.addNode('users.view', '/view/:id')
26-
.addNode('users.list', '/list')
25+
var router = new Router5()
26+
.setOption('useHash', true)
27+
.setOption('defaultRoute', 'inbox')
28+
// Routes
29+
.addNode('inbox', '/inbox')
30+
.addNode('inbox.message', '/message/:id')
31+
.addNode('compose', '/compose')
32+
.addNode('contacts', '/contacts')
2733
.start()
2834

29-
export {
30-
Link: linkFactory(router)
31-
SegmentMixin: segmentMixinFactory(router)
32-
router
33-
}
35+
var Link = linkFactory(router)
36+
var SegmentMixin = segmentMixinFactory(router)
37+
38+
export {router, Link, SegmentMixin}
3439
```
3540

3641
### Link component
@@ -45,7 +50,7 @@ let Menu = React.createClass({
4550
render() {
4651
let params = {id: 1}
4752
return (<nav>
48-
<Link routeName="users.view" routeParams={params}>View user 1</Link>
53+
<Link routeName="users.view" routeParams={params} routeOptions={reload: true}>View user 1</Link>
4954

5055
<Link routeName="users.list">List users</Link>
5156
</nav>)

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "router5-react",
3-
"version": "0.1.0-alpha.6",
3+
"version": "0.1.0-alpha.7",
44
"homepage": "http://router5.github.io",
55
"authors": [
66
"Thomas Roch <thomas.c.roch@gmail.com>"

dist/amd/segment-mixin-factory.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ define(["exports", "module"], function (exports, module) {
1111
},
1212

1313
componentDidMount: function componentDidMount() {
14-
router.addNodeListener(routeName, this.nodeListener);
14+
if (listener) router.addNodeListener(routeName, this.nodeListener);
1515
router.registerComponent(routeName, this);
1616
},
1717

1818
componentWillUnmount: function componentWillUnmount() {
19-
router.removeNodeListener(routeName, this.nodeListener);
19+
if (listener) router.removeNodeListener(routeName, this.nodeListener);
2020
router.deregisterComponent(routeName, this);
2121
}
2222
};

dist/browser/router5-react.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,12 @@ function segmentMixinFactory(router) {
9999
},
100100

101101
componentDidMount: function componentDidMount() {
102-
router.addNodeListener(routeName, this.nodeListener);
102+
if (listener) router.addNodeListener(routeName, this.nodeListener);
103103
router.registerComponent(routeName, this);
104104
},
105105

106106
componentWillUnmount: function componentWillUnmount() {
107-
router.removeNodeListener(routeName, this.nodeListener);
107+
if (listener) router.removeNodeListener(routeName, this.nodeListener);
108108
router.deregisterComponent(routeName, this);
109109
}
110110
};

dist/browser/router5-react.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/commonjs/segment-mixin-factory.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ function segmentMixinFactory(router) {
1313
},
1414

1515
componentDidMount: function componentDidMount() {
16-
router.addNodeListener(routeName, this.nodeListener);
16+
if (listener) router.addNodeListener(routeName, this.nodeListener);
1717
router.registerComponent(routeName, this);
1818
},
1919

2020
componentWillUnmount: function componentWillUnmount() {
21-
router.removeNodeListener(routeName, this.nodeListener);
21+
if (listener) router.removeNodeListener(routeName, this.nodeListener);
2222
router.deregisterComponent(routeName, this);
2323
}
2424
};

modules/segment-mixin-factory.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ function segmentMixinFactory(router) {
77
},
88

99
componentDidMount() {
10-
router.addNodeListener(routeName, this.nodeListener)
10+
if (listener) router.addNodeListener(routeName, this.nodeListener)
1111
router.registerComponent(routeName, this)
1212
},
1313

1414
componentWillUnmount() {
15-
router.removeNodeListener(routeName, this.nodeListener)
15+
if (listener) router.removeNodeListener(routeName, this.nodeListener)
1616
router.deregisterComponent(routeName, this)
1717
}
1818
})

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "router5-react",
3-
"version": "0.1.0-alpha.6",
3+
"version": "0.1.0-alpha.7",
44
"description": "router5 helpers for React",
55
"main": "dist/commonjs/index.js",
66
"scripts": {

0 commit comments

Comments
 (0)