Могу ли я использовать реагировать родные элементы интерфейса с родной базой? - PullRequest
4 голосов
/ 05 апреля 2019

У меня в проекте написаны в основном компоненты Native Base.Но в некоторых случаях я хочу использовать React Native Elements.Я просто хочу знать, возможно ли использовать их отдельно.

Для некоторых компонентов я буду использовать React Native Elements, например компонент Avatar.Не импортируя их вместе, я имею в виду только один UI Toolkit.

1 Ответ

4 голосов
/ 05 апреля 2019

да, вы можете использовать компоненты из Native Base и React Native Elements одновременно, если они не называются одинаковыми в одном и том же компоненте.Позвольте мне объяснить:

Следующее приложение представляет собой простой пример наличия двух компонентов из обеих библиотек:

import { Button, ThemeProvider } from 'react-native-elements';
import {  Header } from 'native-base';

const MyApp = () => {
  return (
    <ThemeProvider>
      <Header>                  //Is rendered from the Native Base library
      <Button title="Hey!" />   //Is rendered from the React Native Elements library
    </ThemeProvider>
  );
};

Вы можете столкнуться с проблемой, если попытаетесь выполнить следующее, потому что оно вызовет«Ошибка объявления дубликата»:

import { Button, ThemeProvider } from 'react-native-elements';    //Button is imported
import { Button, Header } from 'native-base';                     //Button is imported a second time

const MyApp = () => {
  return (
    <ThemeProvider>
      <Button>                   
        <Text>Click Me!</Text>
      </Button>                 
      <Button title="Hey!" />   
    </ThemeProvider>
  );
};

В этом коде вы дважды определили один и тот же компонент (кнопка) из двух разных библиотек.React Native не будет отображать этот компонент.Если вы возьмете его из одного из двух операторов импорта, оно будет отображено с соответствующим компонентом из библиотеки, из которой вы импортируете его.

Надеюсь, это поможет.

...