React native 获取未定义不是一个对象(评估';this.props.url';)

React native 获取未定义不是一个对象(评估';this.props.url';),react-native,react-native-ios,React Native,React Native Ios,我正在尝试在我的应用程序中构建一个组件,该组件将显示一个带有网站链接的名称,并且似乎得到了错误未定义不是一个对象(评估'this.props.url')。我试图通过添加一个.bind(this)来解决这个问题,但它要么导致语法错误,要么导致相同的错误 下面是组件的代码 import React,{Component}来自“React”; 从“react native”导入{链接、文本、样式表、TouchableHighlight}; const styles=StyleSheet.create(

我正在尝试在我的应用程序中构建一个组件,该组件将显示一个带有网站链接的名称,并且似乎得到了错误
未定义不是一个对象(评估'this.props.url')
。我试图通过添加一个
.bind(this)
来解决这个问题,但它要么导致语法错误,要么导致相同的错误

下面是组件的代码

import React,{Component}来自“React”;
从“react native”导入{链接、文本、样式表、TouchableHighlight};
const styles=StyleSheet.create({
名称:{
textAlign:“居中”,
fontWeight:“粗体”,
颜色:“黑色”
}
});
类LinkedName扩展组件{
render(){
const{latiname}=this.props;
返回(
{latiname}
);
}
戈图尔(){
const{url}=this.props;
Linking.canOpenURL(url)
.then(受支持=>{
如果(支持){
Linking.openURL(url);
}否则{
警报(“无法打开此链接”);
}
});
}
}
导出默认LinkedName;

方法未绑定到组件的实例

您应该在类的构造函数中绑定它,或者将其声明为arrow函数

// Arrow function declaration
goToUrl = () => {
  const { url } = this.props;
  Linking.canOpenURL(url).then(supported => {
    if (supported) {
      Linking.openURL(url);
    } else {
      alert('cannot open this link');
    }
  });
};

请看一下有关事件处理和绑定的内容。

谢谢,我最终在构造函数中绑定了该函数。