Javascript 反应本机错误中的自定义后退按钮:params.handleThis不是函数(在params.handleThis()中,params.handleThis未定义)
连续按自定义后退按钮时 错误: params.handleThis不是函数(在params.handleThis()中,params.handleThis未定义) 我如何解决这个问题 我将this.props.navigation.setParams放在构造函数和componentdidmount中,但没有成功。代码如下:Javascript 反应本机错误中的自定义后退按钮:params.handleThis不是函数(在params.handleThis()中,params.handleThis未定义),javascript,android,ios,react-native,jsx,Javascript,Android,Ios,React Native,Jsx,连续按自定义后退按钮时 错误: params.handleThis不是函数(在params.handleThis()中,params.handleThis未定义) 我如何解决这个问题 我将this.props.navigation.setParams放在构造函数和componentdidmount中,但没有成功。代码如下: export default class PhysicalCounting extends BaseReact { constructo
export default class PhysicalCounting extends BaseReact {
constructor(props) {
super(props);
this.state = {
scanningViewFocus: "",
arrTotalAssets: [],
};
this.onBackPress = this.onBackPress.bind(this);
this.props.navigation.setParams({
handleThis: this.onBackPress.bind(this)
});
}
static navigationOptions = ({ navigation }) => {
const { params = {} } = navigation.state;
return {
title: "Physical Count",
headerStyle: {
backgroundColor: "#314097"
},
gesturesEnabled: false,
headerTintColor: "#fff",
headerLeft:
<TouchableOpacity onPress={() => { params.handleThis() }}>
<Ionicons name={'ios-arrow-back'}
// title="Back"
color="#FFF"
style={{ paddingLeft: 20 }}
size={25}
/>
{/* <Text>Back</Text> */}
</TouchableOpacity>
};
};
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress',
this.handleBackButtonClick);
this.props.navigation.setParams({
handleThis: this.onBackPress.bind(this)
});
}
onBackPress() {
if (this.state.startScan == true) {
this.setState({
startScan: false
});
} else {
this.props.navigation.goBack(null);
}
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
}
handleBackButtonClick() {
this.onBackPress()
return true;
}
}
导出默认类PhysicalCounting扩展BaseReact{
建造师(道具){
超级(道具);
此.state={
扫描视图焦点:“”,
资产总额:[],
};
this.onBackPress=this.onBackPress.bind(this);
this.props.navigation.setParams({
这个.反压.绑定(这个)
});
}
静态导航选项=({navigation})=>{
const{params={}}=navigation.state;
返回{
标题:“实物盘点”,
头型:{
背景颜色:“314097”
},
手势已启用:错误,
标题颜色:“fff”,
左校长:
{params.handleThis()}}>
{/*Back*/}
};
};
组件willmount(){
BackHandler.addEventListener('hardwareBackPress',
这个。把手按钮(手柄);
this.props.navigation.setParams({
这个.反压.绑定(这个)
});
}
onBackPress(){
if(this.state.startScan==true){
这是我的国家({
斯塔森:错
});
}否则{
this.props.navigation.goBack(null);
}
}
组件将卸载(){
BackHandler.removeEventListener('hardwareBackPress',this.handleBackButtonClick);
}
把手按钮手柄{
这个是onBackPress()
返回true;
}
}
您是否尝试控制台记录您的参数?我从未见过这个const{params={}}=navigation.state代码>。找不到任何关于它的信息,你能给我文档或者你在哪里见过它吗?你有没有试着记录你的参数?我从未见过这个const{params={}}=navigation.state代码>。找不到关于它的任何东西,你能给我文件或者你在哪里见过它吗?