React native 在expo project中创建屏幕间导航时,Null不是对象
我需要在点击按钮后打开新屏幕。为此,我采取了以下步骤: 1) 已安装库 2) 创建了一个新屏幕,并将其与其他屏幕一起添加到文件夹中(DetailInfoScreen是一个新屏幕,应该打开,HomeScreen是一个屏幕,其中有一个按钮,单击哪个新屏幕应该打开): 3) 添加了以下代码行:React native 在expo project中创建屏幕间导航时,Null不是对象,react-native,navigation,React Native,Navigation,我需要在点击按钮后打开新屏幕。为此,我采取了以下步骤: 1) 已安装库 2) 创建了一个新屏幕,并将其与其他屏幕一起添加到文件夹中(DetailInfoScreen是一个新屏幕,应该打开,HomeScreen是一个屏幕,其中有一个按钮,单击哪个新屏幕应该打开): 3) 添加了以下代码行: import { Navigation } from 'react-native-navigation'; import DetailInfoScreen from './DetailInfoScreen';
import { Navigation } from 'react-native-navigation';
import DetailInfoScreen from './DetailInfoScreen';
class HomeScreen extends Component {
constructor(props) {
super(props);
this.onPressSearch = this.onPressSearch.bind(this);
Navigation.registerComponent('DetailInfoScreen', () => DetailInfoScreen);
}
goToScreen = (screenName) => {
Navigation.push(this.props.componentId, {
component: {
name: screenName
}
});
}
render() {
const { list, text } = this.props;
return (
<View style={styles.container}>
<View style={styles.searchContainer}>
<TouchableOpacity
onPress={this.goToScreen('DetailInfoScreen')}
>
<View>
<Text>Search</Text>
</View>
</TouchableOpacity>
</View>
);
}
从'react native Navigation'导入{Navigation};
从“/DetailInfoScreen”导入DetailInfoScreen;
类主屏幕扩展组件{
建造师(道具){
超级(道具);
this.onpressearch=this.onpressearch.bind(this);
注册表组件('DetailInfoScreen',()=>DetailInfoScreen);
}
goToScreen=(屏幕名称)=>{
Navigation.push(this.props.componentId{
组成部分:{
名称:屏幕名称
}
});
}
render(){
const{list,text}=this.props;
返回(
搜寻
);
}
但是当我运行项目时,我有以下错误:
还有一个让我不安的时刻是,vscode中的自动更正在导入时看不到我的新屏幕:
也许它没有发挥任何作用,但仍然如此。那么,问题的原因是什么,我该如何解决它呢?我个人建议您使用react导航而不是react本机导航,您可以阅读更多有关此的内容我个人建议您使用react导航而不是react本机导航,您可以阅读mo重新打开此您只需使用以下命令导航到另一个屏幕:
this.props.navigation.navigate('DetailInfoScreen')>
搜寻
您可以使用以下命令导航到另一个屏幕:
this.props.navigation.navigate('DetailInfoScreen')>
搜寻