Рубрики
Без рубрики

Омснап! Управление глобальных стилей в React Native

«Омснап!» Серия исследует советы размером с укусом, которые вы можете подать заявку сегодня. ВВЕДЕНИЕ О … Помечено реактивным, WebDev, JavaScript, начинающими.

«Омснап!» Серия исследует советы размером с укусом, которые вы можете подать заявку сегодня.

Введение

Одна из больших корректировок, которые я должен был сделать при использовании реагирования на родом, не полагается на 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”