Commit Graph

568 Commits

Author SHA1 Message Date
satyajit.happy
d3e200d727 refactor: only accept name in jumpTo 2019-07-23 00:26:43 +02:00
Satyajit Sahoo
bd6aa667cb refactor: mark initial state as stale to determine when to rehydrate (#23) 2019-07-22 22:21:56 +01:00
satyajit.happy
2798c93e8b refactor: tweak types 2019-07-22 21:01:39 +02:00
satyajit.happy
2eb86cd215 feat: add a setOptions method to set screen options
In React Navigation, the screen options can be specified statically. If you need to configure any options based on props and state of the component, or want to update state and props based on some action such as tab press, you need to do it in a hacky way by changing params. it's way more complicated than it needs to be. It also breaks when used with HOCs which don't hoist static props, a common source of confusion.

This PR adds a `setOptions` API to be able to update options directly without going through params.
2019-07-22 20:50:53 +02:00
satyajit.happy
2b819e4310 feat: improve types for options and support a function 2019-07-22 12:21:40 +02:00
satyajit.happy
e1cf13e34d feat: add a useNavigation hook to access the navigation object 2019-07-21 15:37:11 +02:00
satyajit.happy
57b7ed827c refactor: move some common actions to base router 2019-07-21 02:55:34 +02:00
Michał Osadnik
1de5494793 feat: add target argument to setParams (#18) 2019-07-20 20:51:03 +01:00
dependabot[bot]
a64f402ded chore(deps): bump lodash from 4.17.10 to 4.17.11 (#17) 2019-07-20 19:54:43 +01:00
Michał Osadnik
4483dd2c3a feat: make NAVIGATE and JUMP_TO to support key and name of the route (#16) 2019-07-20 16:46:29 +01:00
Satyajit Sahoo
44b2ace9ee refactor: drop getStateForChildUpdate in favor of getStateForRouteFocus (#15) 2019-07-20 13:05:30 +01:00
Satyajit Sahoo
3d8ba13135 refactor: memoize the context object in container (#14) 2019-07-20 13:05:00 +01:00
satyajit.happy
6955ae9d25 feat: handle screens nested in React.Fragment 2019-07-20 05:28:51 +02:00
Michał Osadnik
637263e9cf refactor: make container a function (#13) 2019-07-20 05:28:36 +02:00
Michal Osadnik
77c7315350 refactor: get rid of dangerously setState 2019-07-18 23:50:29 +01:00
Michał Osadnik
cb89debb94 refactor: add transaction support (#12) 2019-07-18 23:17:59 +01:00
satyajit.happy
38aa8e447b docs: update README to match latest API 2019-07-18 22:09:44 +02:00
Michał Osadnik
d3099c18b8 refactor: move navigation.state to a route prop (#6) 2019-07-18 15:14:47 +02:00
satyajit.happy
b775dbaacf feat: handle route names change 2019-07-18 14:47:04 +02:00
satyajit.happy
95773de0a3 refactor: create initial state only once 2019-07-17 12:38:04 +02:00
Michal Osadnik
ea8655252d feat: let child navigators handle actions from parent
Co-authored-by: Satyajit Sahoo <satyajit.happy@gmail.com>
2019-07-17 12:36:55 +02:00
Michał Osadnik
f383d131d9 feat: add createNavigator and not export Screen directly (#3) 2019-07-17 00:11:53 +01:00
satyajit.happy
0ff3de1266 refactor: use a class component for the container
With the function component. we have issues with our getState function which doesn't always return latest state.
2019-07-16 12:28:15 +02:00
satyajit.happy
e7014a62e3 refactor: remove code for cleaning up navigator
It messes up with other state changes. We'll figure something out later
2019-07-15 04:35:21 +02:00
satyajit.happy
6a58a4a966 fix: cleanup navigator state on unmount 2019-07-14 19:39:32 +02:00
satyajit.happy
cfb3921446 docs: add JSDoc for some comments 2019-07-14 18:57:31 +02:00
satyajit.happy
db6fe6bb1e refactor: add separate method for rehydration and fix types 2019-07-14 18:42:30 +02:00
satyajit.happy
43bc406c00 refactor: rename names to routeNames for clarity 2019-07-14 14:57:02 +02:00
satyajit.happy
86890b2b33 fix: merge params on navigate in example 2019-07-14 14:51:42 +02:00
satyajit.happy
470a5a1d24 feat: add a setParams method to update route params 2019-07-14 14:45:48 +02:00
satyajit.happy
59aacc3080 test: add test to check if action is handled correctly 2019-07-13 08:33:40 +02:00
satyajit.happy
06a3fbc13d docs: update README 2019-07-13 05:19:10 +02:00
satyajit.happy
163e4c18f2 fix: always get latest state for getCurrentState 2019-07-13 04:33:44 +02:00
satyajit.happy
2c60fab0bb test: add test for static container 2019-07-13 03:13:01 +02:00
satyajit.happy
5bd4ecef1a test: add test for accessing container context 2019-07-13 03:04:20 +02:00
satyajit.happy
84c16a7d41 test: add test for dispatching a function 2019-07-13 02:51:24 +02:00
satyajit.happy
4a42ec4b2b chore: add state persistence to the example 2019-07-13 02:51:24 +02:00
satyajit.happy
6844c7dea5 test: add more tests and improve error messages 2019-07-13 02:51:18 +02:00
satyajit.happy
d44d7b3bdc refactor: default to frozen object for options 2019-07-12 23:28:18 +02:00
satyajit.happy
3d865c7d2d refactor: split useNavigationBuilder into more hooks 2019-07-12 23:26:24 +02:00
satyajit.happy
c2a50aa27e docs: fix typo in example 2019-07-12 22:51:06 +02:00
satyajit.happy
eeccd1b1b5 docs: remove outdated comments 2019-07-12 22:47:06 +02:00
satyajit.happy
6686e0ab58 refactor: remove parent to child navigator communication 2019-07-12 22:41:48 +02:00
satyajit.happy
2e08df9a1d feat: add an onStateChange prop to NavigationContainer 2019-06-13 14:21:54 +02:00
satyajit.happy
b58ea0ebeb fix: only propagate navigate to children 2019-06-13 10:28:04 +02:00
satyajit.happy
336482e972 fix: don't throw if action wasn't handled 2019-06-12 00:40:18 +02:00
satyajit.happy
720a90bd5f feat: add ability to dispatch a update function 2019-06-12 00:08:57 +02:00
satyajit.happy
1c394e1279 feat: add more acttions 2019-06-12 00:01:13 +02:00
satyajit.happy
85e65d7bee fix: focus a navigator when you navigate to a screen in it 2019-06-11 23:28:17 +02:00
satyajit.happy
de9464f234 fix: prevent rendering multiple navigators under a single container 2019-06-11 15:39:02 +02:00