2016-10-24 3 views
0

Я пытаюсь научиться использовать без гражданства функциональных компонентов, и требуют, как это:Как требовать Stateless функциональных компонентов

const Button = require('./components/Button'); 

И в Button.js:

import React from 'react'; 

const { Text, View, TouchableOpacity,} = ReactNative; 
const Button =() => { 
    return (
    <View><Text>Button</Text></View> 
    ); 
} 
export default Button; 

Это дает мне:

Требуя неизвестный модуль»./_createWrapper".If вы уверены, что модуль есть, попробуйте перезапустить упаковщик или запустить «npm install».

Если я это сделать рядный, как это, он работает:

const Button =() => 
    <View><Text>Button</Text></View> 

Но так как я хотел бы сохранить его в качестве многократно используемого компонента, я хочу его в файле. Как мне это сделать?

+0

Это так странно. Я создал новый файл под названием MyButton.js и использовал очень похожий скрипт. И это сработало. Теперь я скопировал этот точный сценарий на Button.js и снова получил ошибку «createWrapper». Так что, похоже, что-то происходит с файлом. – Niclas

+0

Ничего, извините. Это была путаница путей к файлам. У меня было два открытых файла, и на самом деле кнопка button.js имела совершенно другой код, который каким-то образом был несовместим с обновлением реакции native. Надеюсь, это поможет кому-то, и ответ на запрос/импорт по-прежнему действителен :) – Niclas

ответ

1

Требовать является синтаксисом импорта commonJs и экспорт по умолчанию является синтаксисом экспорта ES6.

поэтому придерживайтесь одной вещи commonjs или модулей ES6.

В Button.js при экспорте

module.exports = Button; использование

или вы можете использовать ES6 операторы импорта при импорте

import Button from './components/Button'

+0

Очень странно, я пробовал это, но я все равно получаю ту же ошибку. Хм .. я не знаю, поможет ли трассировка стека, я попытаюсь вставить это в свой первоначальный вопрос – Niclas

Смежные вопросы