Я просто создаю две библиотеки (Theme и Snackbar), эту библиотеку можно установить как отдельный пакет, но теперь я хочу дополнительно поддерживать некоторые функции на случай, если проект установит две мои библиотеки. и Snackbar), эту библиотеку можно установить как отдельный пакет, но теперь я хочу дополнительно поддерживать некоторые функции на случай, если проект установит две мои библиотеки. и Snackbar), эту библиотеку можно установить как отдельный пакет, но теперь я хочу дополнительно поддерживать некоторые функции на случай, если проект установит две мои библиотеки. и Snackbar p>
например
App.js
import { SnackbarProvider } from 'myLibrary/snackbar';
import { ThemeProvider } from 'myLibrary/theme';
import React from 'react';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import Routes from './Routes';
const App = () => {
return (
);
};
App.displayName = 'App';
export default App;
Приведенный выше код представляет собой код проекта, в котором используются обе мои библиотеки (myLibrary/snackbar и myLibrary/theme)
а для доступа к теме внутри проекта я предоставил перехватчик под названием useTheme.< /p>
и теперь я хочу расширить библиотеку myLibrary/snackbar, чтобы она ссылалась на настройки myLibrary/theme, такие как цвет, шрифт и т. д.
Как условно использовать useTheme в myLibrary/snackbar?
Snackbar.js
import React from 'react';
import {View, Text} from 'react-native';
// import { useTheme } from 'myLibrary/theme';
const Snackbar = props => {
// use color from `useTheme` or fallback to default color
// conditionally use hook if exist
// const {color} = useTheme()
return (
Snackbar Component
);
};
export default Snackbar;
Подробнее здесь: https://stackoverflow.com/questions/793 ... me-package