【问题标题】:undefined is not an object (evaluating 'this.props.navigator.push') while QRcode reading library二维码读取库时,未定义不是对象(评估“this.props.navigator.push”)
【发布时间】:2016-06-07 22:02:07
【问题描述】:

我尝试使用 react native 读取 QRcode 然后我安装库

这是我的代码

  'use strict';

    var React = require('react-native');
    var {
      AppRegistry,
      StyleSheet,
      Text,
      View,
      TouchableOpacity,
      NavigatorIOS,
    } = React;

    var QRCodeScreen = require('./QRCodeScreen');   

  var cameraApp = React.createClass({
      render: function() {
        return (
          <NavigatorIOS
            style={styles.container,{ width:100,height:500}}
            initialRoute={{
              title: 'Index',
              backButtonTitle: 'Back',
              component: Index,
            }}
          />        
        );
      }
    });    

    var Index = React.createClass({        
      render: function() {
        return (
          <View style={styles.contentContainer}>
            <TouchableOpacity onPress={this._onPressQRCode} >
              <Text>Read QRCode</Text>
            </TouchableOpacity>
          </View>
        );
      },        
      _onPressQRCode: function() {
        this.props.navigator.push({
          component: QRCodeScreen,
          title: 'QRCode',
          passProps: {
            onSucess: this._onSucess,
          },
        });
      },        
      _onSucess: function(result) {
        console.log(result);
      },

    });           


    var styles = StyleSheet.create({
      container: {
        flex: 1,
        backgroundColor: '#F5FCFF',        
      },
      contentContainer: {
        flex: 1,
        alignItems: 'center',
        justifyContent: 'center',
      }
    });

    AppRegistry.registerComponent('MyFirstReactapril', () => cameraApp);

但我收到此错误 undefined 不是对象(评估 'this.props.navigator.push')

我不知道它有什么问题,请帮忙。 或者有没有图书馆可以读取二维码并给我链接或字符串?

【问题讨论】:

  • 嘿,您注册的是索引组件,而不是cameraApp,顺便说一句,将子组件放在顶部更好
  • @liupluto 没有改变,仍然有错误

标签: android npm react-native qr-code


【解决方案1】:

NavigatorIOS 组件仅适用于 iOS。您需要使用Navigator 组件,该组件可在 Android 和 iOS 中使用。

【讨论】:

  • 感谢您宝贵的时间,但我已经替换了它,但问题是它在Android模拟器上没有出现任何东西
  • 但是 Navigator 怎么能读取我的二维码?,对不起,我是个小笨蛋,我是移动应用程序的新手 :)
  • Navigator 组件用于在应用的不同场景之间进行切换。您需要使用二维码扫描库来读取二维码。您可以参考github.com/jicksonp/ReactEvalApp 项目。这有二维码扫描功能。
  • 好的@Jickson我复制了我的索引页面中QRcodeRow.js文件中的内容,并复制了与此页面相关的文件'../utils/Globals'; '../utils/Utils';然后它给了我一个错误undefined is an object ('evaluating 'this.props.qrcode.code')
  • 嘿.. egghead.io/lessons/react-react-native-up-and-running 这是学习 react-native 基础知识的好教程。这将帮助您了解 React Native 的基础知识。遵循本教程后,您将能够理解示例项目并实施。一切顺利。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
  • 2019-09-26
  • 2019-12-12
  • 2019-08-16
相关资源
最近更新 更多