我收到一个“元素类型无效期望的字符串...”错误,我敢肯定,我如何导入/导出我的错误模块,但我不知道是什么。如何将MyMenu组件导入MySidebar.js? (我只把相关的代码中,我可能已经错过了,虽然东西)难以从React Native中的不同文件中导出/导入组件
//MySidebar.js
import MyMenu from './MyMenu.js';
class SideBar extends Component {
render() {
var menu = <MyMenu />;
return (
<SideMenu menu={menu}>
<ContentView/>
</SideMenu>
);
}
}
//MyMenu.js
export default class MyMenu extends Component {
static propTypes = {
onItemSelected: React.PropTypes.func.isRequired,
};
render() {
return (
<ScrollView scrollsToTop={false} style={styles.menu}>
<View style={styles.avatarContainer}>
<Image
style={styles.avatar}
source={{ uri, }}/>
<Text style={styles.name}>Your name</Text>
</View>
<Text
onPress={() => this.props.onItemSelected('About')}
style={styles.item}>
About
</Text>
<Text
onPress={() => this.props.onItemSelected('Contacts')}
style={styles.item}>
Contacts
</Text>
</ScrollView>
);
}
};
如果文件位于同一目录中,请从导入语句=>'import MyMenu'./MyMenu';'中删除文件类型。相当肯定''SideMenu menu = {menu}>',其中'menu'是一个组件,是错误的jsx语法。你打算如何完成? – NiFi
我不认为它是文件类型(尽管我尝试过),因为我的其他导入通过导入.js文件工作。至于,这是侧边菜单的API,我从这里复制了他们的示例代码:https://github.com/react-native-community/react-native-side-menu –
确实看起来像使用.js后缀作品,即使它不严格按照标准。我所要做的就是试图通过移除/简化代码来缩小问题的根源,直到找出具体突破的地方。例如,从SideBar的'render'方法工作中只返回' '? –
NiFi