【发布时间】:2018-11-23 12:12:09
【问题描述】:
我想设置一个自定义导航 headerLeft 属性;只有在满足条件时我才能设置 headerLeft 属性。否则不。我在我的应用程序中使用 StackNavigator。并且也无法从导航选项中访问道具。
这是我的代码
componentDidMount() {
this.props.navigation.setParams({goBack: this.goBack, shouldShow: this.state.show });
}
onShow = () => {
if (this.state.steps >1) {
this.setState({show:true}, () => {this.props.navigation.setParam({shouldShow:true})} )
}
}
goBack= () =>{
this.setState({ steps: this.state.steps - 1 })
}
static navigationOptions = ({ navigation }) => {
const { params = {} } = navigation.state;
let headerLeft = null;
if (params.shouldShow) {
headerLeft = <TouchableOpacity onPress={() => params.goBack}>
<Image source={/* src */} style={Styles.navBarIcon} />
</TouchableOpacity>
}
return {
headerLeft: headerLeft,
headerTitle: 'Register',
headerStyle: Styles.navBar,
};
};
【问题讨论】:
标签: react-native