Javascript 反应本机错误中的自定义后退按钮:params.handleThis不是函数(在params.handleThis()中,params.handleThis未定义)

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

连续按自定义后退按钮时

错误:

params.handleThis不是函数(在params.handleThis()中,params.handleThis未定义) 我如何解决这个问题

我将this.props.navigation.setParams放在构造函数和componentdidmount中,但没有成功。代码如下:

        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。找不到关于它的任何东西,你能给我文件或者你在哪里见过它吗?