React native, передавая переменные из других файлов
Я новичок в react native, и у меня возникли проблемы с передачей переменных из одного файла в другой.
модуль.экспорт отлично работает при прохождении классов. Однако есть ли способ в native передать переменные из файла в файл путем экспорта?
В приведенном ниже примере один файл (кнопка) создает массив случайных чисел, и я хочу получить доступ к этому массиву в другом файле (genreSelector). Аналогично я пытаюсь передать массив строк (жанр genreSelector).
Я не могу найти пример того, как это сделать, поэтому у меня создается впечатление, что это невозможно. Как я должен передавать информацию, если это невозможно? Нужно ли мне иметь все функции в моем main и вызывать их из дочерних классов, если да, то как я могу ссылаться на функцию родительского класса, а не на ее собственную.функции?
so main отображается в индексе.андроид.js и все это отлично работает. Bar конечно передача массивов из файла подавать. Я попытался использовать состояния, но все еще не могу получить доступ к переменным по желанию.
извинения за такой основной вопрос, заданный таким сложным образом.
//this is button.js
import React, { Component } from 'react';
import {
Alert,
AppRegistry,
StyleSheet,
Text,
TouchableHighlight,
View
} from 'react-native';
import styles from '../styles/styles.js';
let rNumbers = [1,2,3];
var Button = React.createClass({
rNumberGen: function(){
let rNumbers = [Math.random(), Math.random(), Math.random()];
},
render: function(){
return(
<TouchableHighlight onPress={this.rNumberGen} style={styles.center}>
<Text style={styles.button}>Generate!</Text>
</TouchableHighlight>
);
}
});
module.exports = rNumbers;
module.exports = Button;
/ / это genreSelector
import React, { Component } from 'react';
import {
Alert,
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
import{
genre1,
genre2,
genre3
} from './genres.js';
import rNumbers from './button.js';
import styles from '../styles/styles.js';
let a = rNumbers.toString();
Alert.alert('This is', a);
var Genre = React.createClass({
render: function(){
let genre = this.props.selected;
return(
<View style={styles.genre}>
<Text style={styles.center}>{genre}</Text>
</View>
);
}
});
module.exports = Genre;
//и это главное.js
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
import
Button
from './button.js';
import
Genre
// genres
from './genreSelector.js';
import
styles
from '../styles/styles.js';
class Main extends React.Component {
render(){
return(
<View style={styles.container}>
<Text style={styles.title}>Genre Genrerator</Text>
<Text style={[styles.h2, styles.h21]}>I am listening to</Text>
<View style={styles.genreContainer}>
<Genre selected='{genres[1]}'/>
<Genre selected='{genres[2]}'/>
<Genre selected='{genres[3]}'/>
</View>
<Text style={styles.h2}>You filthy casual</Text>
<Button/>
</View>
);
}
}
module.exports = Main;
1 ответов
module.exports = rNumbers;
module.exports = Button;
перезаписи, назначив подобное. Вы должны использовать ключевое слово Export:
export {rNumbers};
export {Button};
затем импортировать так:
import {rNumbers} from './button.js';
import {Button} from './button.js';
edit: error: expected { после экспорта. Добавлено в