«Омснап!» Серия исследует советы размером с укусом, которые вы можете подать заявку сегодня.
Введение
Одна из больших корректировок, которые я должен был сделать при использовании реагирования на родом, не полагается на CSS.
Конечно, есть еще «CSS-подобные» свойства, которые используют JS-на основе Stylesheet Метод, но они не одинаковы.
Например, поскольку все локально выделено, мы не можем легко устанавливать глобальные стили.
Ну, не совсем …
Вот два способа обрабатывать глобальные стили, которые на самом деле довольно простые, но мощные.
Метод A: Пользовательский стиль компонент
Используя стандартную структуру реагирования, мы создадим пользовательский компонент для элемента, который мы хотим стимулировать глобально.
В этом компоненте мы можем установить стили по умолчанию, а также использовать реквизиты для переопределения этих стилей.
Тогда мы можем импортировать и использовать этот компонент в любом месте нашего проекта. Если стили необходимо изменить, только этот компонент должен быть обновлен.
Например:
может содержать смелый<Текст>элемент с большим размером шрифта.может содержать меньше, темно-серый<Текст>элемент.может содержатьэлемент с зеленым фоном и заглавным текстом.
(Это очень похожая концепция для Стильные компоненты упаковка.)
Aright! Достаточно разговоров. Давайте посмотрим, как он на самом деле выглядит и настроить стиль кнопки, мы можем использовать глобально.
Шаг 1: Создание базы Компонент
Наш компонент должен принять реквизиты и импортировать некоторые стандартные комментарии NACT NATANY POTOMENT по умолчанию для создания базовой структуры и функциональности.
import React from 'react';
import { StyleSheet, Text, TouchableOpacity } from 'react-native';
const PrimaryButton = props => {
return (
props.pressHandler}
>
{props.title}
);
};
export default PrimaryButton;
Шаг 2: Добавить базовые стили
Используя Stylesheet Метод из реагирования на родных, установить некоторые базовые стили для этой кнопки.
import React from 'react';
import { StyleSheet, Text, TouchableOpacity } from 'react-native';
const PrimaryButton = props => {
return (
props.pressHandler}
>
{props.title}
);
};
const styles = StyleSheet.create({
btnContainer: {
paddingVertical: 3,
paddingHorizontal: 10
backgroundColor: 'green',
justifyContent: 'center',
},
text: {
color: 'white',
fontSize: 20,
},
});
export default PrimaryButton;
Шаг 3: Разложить местные стили и стили
Используйте оператор SPRECT, чтобы добавить все текущие стили, а затем любые пользовательские стили передаются через скрин. Это позволит дополнительным стилям быть добавленным/перезаписанным.
import React from 'react';
import { StyleSheet, Text, TouchableOpacity } from 'react-native';
const PrimaryButton = props => {
return (
props.pressHandler}
>
{props.title}
);
};
const styles = StyleSheet.create({
btnContainer: {
paddingVertical: 3,
paddingHorizontal: 10
backgroundColor: 'green',
justifyContent: 'center',
},
text: {
color: 'white',
fontSize: 20,
},
});
export default PrimaryButton;
Шаг 4: Используйте где угодно в проекте
Обратите внимание, как мы проходим в пользовательской марже, через реквизиты. Это применится к кнопке, в дополнение к локальному стилю по умолчанию, которое мы уже настроены.
import React from 'react';
import { StyleSheet, Text, View} from 'react-native';
import PrimaryButton from './components/PrimaryButton'
const ContactScreen = props => {
return (
Contact Us
•••
);
};
const styles = StyleSheet.create({
btn: {
marginTop: 10,
},
btnTitle: {
color: 'grey',
},
});
export default ContactScreen;
Метод B: Экспорт Глобальный объект
Этот следующий метод может использоваться вместо пользовательских компонентов или в сочетании с ним.
Идея хранить ценности Для свойств CSS внутри объектов или переменных, которые экспортируются из глобальных файлов.
Давайте возьмем пример того, как работать с цветами. Представьте себе необходимость изменить «первичный» цвет бренда от синего до зеленого цвета. С помощью метода ниже вам просто нужно обновить этот цвет в одном файле.
Шаг 1: Создайте папку Global Styles
В корне SRC Каталог Создать новую папку под названием Стили и добавить новый файл под названием Colors.js Отказ
/src
|—— /styles
|—— colors.js
Шаг 2: Добавьте значения свойств.
Создайте и экспортируйте объект в файле цветов, который содержит значения
export default {
primary: '#FFBB0B',
primaryLight: '#FFDF8E',
primaryDark: '#CB9303',
secondary: '#63321C',
secondaryLight: '#735243',
secondaryDark: '#170F0C',
};
Шаг 3: Импортируйте и используйте файл цветов.
Теперь вы можете перейти к любому файлу в вашем проекте и ссылаться на то, что цвета вы настроили на шаге 2 на любом приемлемом свойстве.
Если в любое время варианты вашего бренда изменяются, эти файлы будут обновляться автоматически!
import React from 'react';
import { StyleSheet, Text, View} from 'react-native';
import colors from '../styles/colors'; <-----------
const ContactScreen = props => {
return (
Contact Us
);
};
const styles = StyleSheet.create({
header: {
flex: 1,
backgroundColor: colors.secondaryLight, <-----------
},
headline: {
color: colors.primary, <-----------
},
});
export default ContactScreen;
Миниатюра разработана с Adobe Photoshop
Оригинал: “https://dev.to/gedalyakrycer/ohsnap-manage-global-styles-in-react-native-334”