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 { после экспорта. Добавлено в