Comments (7)
Edit :
This seems a much better solution
I think using a React Component for "right" is better :)
right:
could be a react component, which will handle himself his own props :)
For exemple my UserLogOutButtonComponent :
import React, { PropTypes } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import {
Button,
Icon,
} from 'native-base';
import { userLogOut } from '../loginActions';
export const UserLogOutButtonComponent = (props) => {
const {
actions,
} = props;
return (
<Button transparent onPress={actions.userLogOut}>
<Icon name="ios-power" />
</Button>
);
};
UserLogOutButtonComponent.propTypes = {
actions: PropTypes.shape({
userLogOut: PropTypes.func,
}).isRequired,
};
function mapDispatchToProps(dispatch) {
return { actions: bindActionCreators({ userLogOut }, dispatch) };
}
export default connect(
null,
mapDispatchToProps,
)(UserLogOutButtonComponent);
And in my navigationOptions :
CurrentScreen.navigationOptions = {
title: 'Welcome',
header: {
right: (<UserLogOutButton />),
},
};
from react-navigation.
I found only this solution.
It works for my case, but I'm not sure this is correct for the others
componentWillUpdate(nextProps) {
if (this.props !== nextProps) {
if (nextProps.someProp) {
const right = (
<Button
onPress={() => nextProps.navigation.navigate('SomeScreen')}
title="SomeScreen"
/>
)
nextProps.navigation.setParams({ right })
}
}
}
CurrentScreen.navigationOptions = {
title: 'CurrentScreen',
header: ({ state }) => {
if (state.params) {
return { right: state.params.right }
}
return null
}
}
from react-navigation.
+1
from react-navigation.
Answer #147
from react-navigation.
@chimon2000 that is correct. You can run the tests using webpagetest.org/easy for both Faster 3G and EM settings with the Lighthouse Audit checked. Once you're test completes, you can click the Lighthouse score to navigate to its associated report with which First Interactive is the time that we use for all of the implementations on the site.
from react-navigation.
#2638 My Question and Solution for: react component inside non-react component for header button
from react-navigation.
headerLeft: <Icon name='arrow-left' type='SimpleLineIcons' style={{color: '#16a085', fontSize: 18,paddingLift: 10}}/>
from react-navigation.
Related Issues (20)
- Sometimes duplicate tab bar labels appear in bottom tabs HOT 1
- unmountOnBlur shows white screen randomly when switchint tabs HOT 2
- useHeaderHeight changes several times when orientation changes HOT 3
- Navigate into page, increase RAM, navigate back and RAM stays high HOT 1
- When using frosted glass stack to jump in Android mode, ReactNavigation will experience lag and frosted glass will reset HOT 5
- Weird transition in navigation HOT 2
- Invariant Violation: requireNativeComponent: "RNSModalScreen" was not found in the UIManager. HOT 16
- [Bridgeless] [RN 0.74] Event cannot be both direct and bubbling: topFocus HOT 4
- Strange flicker when you scroll up a modal with NativeStack in iOS
- Ripple effect shown twice after clicking one time on material top tab after new architecture enabled. HOT 4
- onStateChange called after screen's mount (useEffect) HOT 6
- MaterialTopTabNavigator Icon Layout Shifting HOT 4
- To prevent the default behavior using e.preventDefault() on `tabPress` event is no longer working HOT 4
- RemoveEventListener error in react-native-navigation@4 HOT 7
- Keyboard is dismissed immediately when focusing on TextInput field on non-outer tabs for `react-native-tab-view` HOT 1
- RemoveEventListener error in react-native-navigation@4 HOT 8
- Bottom Tabs flash when opening keyboard HOT 2
- Bottom Tab Navigator falls out of viewable area HOT 2
- Wrong header height value for screens inside Native Stack inside another Native Stack with modal presentation on iOS
- headerLargeTitle: true with headerBackTitleVisible: false makes back button animation jerky HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-navigation.