Я использую версию 2.0.1 response-native-cli и версию 0.57.8 response-native. Я изучаю React native и столкнулся с проблемой при попытке визуализировать два разных дочерних компонента (Header и AlbumList) в основном компоненте App.
Проблема
Ошибка исчезнет, если я удалю теги <View> и компонент AlbumList в файле index.js (то есть покажу только один компонент). Я просмотрел такие темы, как это, но все еще не могу определить, как я неправильно использую тег <View>.
index.js
import React from 'react';
import { View, Text, AppRegistry } from 'react-native';
import Header from './src/components/Header';
import AlbumList from './src/components/AlbumList';
//>Create a component
const App = () => (
<View> <Header headerName = {'Albums'} />
<AlbumList />
</View>
);
//>Render component on device
AppRegistry.registerComponent('albums', ()=> App);
AlbumList.js
import React from 'react';
import { View, Text } from 'react-native';
const AlbumList = () => {
return (
<View><Text> Album List </Text></View>
);
};
export default AlbumList;
Я думаю, что проблема не в файле Header.js, а в том, чтобы поделиться кодом.
Header.js
import React from 'react';
import { Text, View } from 'react-native'; // The view tag allows us to position and wrap elements
// Make a component
const Header = (props) => {
const { textStyle, viewStyle } = styles;
return (
<View style = {viewStyle}>
<Text style = {textStyle}> {props.headerName}</Text>
</View>
);
};
const styles = {
viewStyle: {
backgroundColor: '#F8F8F8',
alignItems: 'center',
justifyContent: 'center',
height: 60
},
textStyle: {
fontSize: 20
}
};
export default Header;
Помощь приветствуется. Заранее спасибо!
У меня есть index.js в корне, и его содержимое есть в посте.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


в вашем файле index.js замените функцию приложения на ниже,
//Create a component
const App = () => (
<View><Header headerName = {'Albums'} /><AlbumList /></View>
);
здесь не должно быть места между компонентами
при использовании собственных компонентов React, попробуйте поместить каждый элемент в новую строку, таким образом вам не придется беспокоиться о пробелах
const App = () => (
<View>
<Header headerName = {'Albums'} />
<AlbumList />
</View>
);
Сообщите мне, если это сработает
Большое спасибо! Вы знаете, каким был бы синтаксис, если бы я не хотел беспокоиться о пробелах? Я пробовал это, и это не сработало - const App = () => {return (<View> <Header headerName = {'Albums'} /> <AlbumList /> </View>); };
@KeshavVasudevan, я обновил ответ, указав предпочтительный синтаксис. Проверить это.
Спасибо огромное @farid!
В моем случае у меня была неуместная точка с запятой, как показано, и это вызывало у меня такую головную боль
<Screen>
<RestaurantScreen />; //Make sure you have no misplaced semicolon like in my case here
</Screen>
что вы написали в компоненте / index.js?