Woher weiß ich beim Erstellen einer Bibliothek, ob ein Projekt ein Paket installiert?
Posted: 12 Jan 2025, 09:00
Ich erstelle einfach zwei Bibliotheken ( und Snackbar), diese Bibliothek kann als eigenständiges Paket installiert werden, aber jetzt möchte ich optional einige Funktionen unterstützen, falls ein Projekt zwei meiner Bibliotheken installiert.
zum Beispiel
App.js
Der obige Code stellt einen Projektcode dar, der beide meiner Bibliotheken verwendet ( und myLibrary/theme)
und um auf das Theme innerhalb des Projekts zuzugreifen, habe ich einen Hook namens useTheme bereitgestellt.< /p>
und jetzt möchte ich die myLibrary/snackbar-Bibliothek erweitern, um auf myLibrary/theme-Setups wie Farbe, Schriftart usw. zu verweisen.
Wie verwende ich useTheme bedingt? innerhalb von myLibrary/snackbar?
Code: Select all
Theme
zum Beispiel
App.js
Code: Select all
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;
Code: Select all
myLibrary/snackbar
und um auf das Theme innerhalb des Projekts zuzugreifen, habe ich einen Hook namens useTheme bereitgestellt.< /p>
und jetzt möchte ich die myLibrary/snackbar-Bibliothek erweitern, um auf myLibrary/theme-Setups wie Farbe, Schriftart usw. zu verweisen.
Wie verwende ich useTheme bedingt? innerhalb von myLibrary/snackbar?
Code: Select all
Snackbar.js
Code: Select all
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;