Skip to content

Commit 8542439

Browse files
committed
refactor: remove screen props from example
1 parent 09e64d8 commit 8542439

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

example/App.js

+13-11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
DarkTheme,
99
DefaultTheme,
1010
} from 'react-native-paper';
11+
import createReactContext from 'create-react-context';
1112
import { DrawerNavigator } from 'react-navigation';
1213
import RootNavigator from './src/RootNavigator';
1314
import DrawerItems from './DrawerItems';
@@ -17,11 +18,15 @@ type State = {
1718
theme: Theme,
1819
};
1920

21+
const ThemeToggleContext: any = createReactContext();
22+
2023
const App = DrawerNavigator(
2124
{ Home: { screen: RootNavigator } },
2225
{
23-
contentComponent: ({ screenProps }) => (
24-
<DrawerItems toggleTheme={screenProps.toggleTheme} />
26+
contentComponent: () => (
27+
<ThemeToggleContext.Consumer>
28+
{toggleTheme => <DrawerItems toggleTheme={toggleTheme} />}
29+
</ThemeToggleContext.Consumer>
2530
),
2631
}
2732
);
@@ -36,19 +41,16 @@ class PaperExample extends React.Component<{}, State> {
3641
}
3742

3843
_toggleTheme = () =>
39-
this.setState({
40-
theme: this.state.theme === DarkTheme ? DefaultTheme : DarkTheme,
41-
});
44+
this.setState(state => ({
45+
theme: state.theme === DarkTheme ? DefaultTheme : DarkTheme,
46+
}));
4247

4348
render() {
4449
return (
4550
<PaperProvider theme={this.state.theme}>
46-
<App
47-
screenProps={{
48-
toggleTheme: this._toggleTheme,
49-
theme: this.state.theme,
50-
}}
51-
/>
51+
<ThemeToggleContext.Provider value={this._toggleTheme}>
52+
<App />
53+
</ThemeToggleContext.Provider>
5254
<KeepAwake />
5355
</PaperProvider>
5456
);

0 commit comments

Comments
 (0)