Как при создании библиотеки узнать, устанавливает ли проект какой-либо пакет?Javascript

Форум по Javascript
Ответить
Anonymous
 Как при создании библиотеки узнать, устанавливает ли проект какой-либо пакет?

Сообщение Anonymous »

Я просто создаю две библиотеки (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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»