Hướng dẫn can i use css modules in react native? - tôi có thể sử dụng mô-đun css trong phản ứng gốc không?

Phản ứng các mô -đun CSS bản địa

Phong cách phản ứng các thành phần gốc sử dụng CSS, Postcss, Sass, ít hơn hoặc bút stylus.

Liên kết nhanh: Tính năng • Tài liệu • Ví dụ • Phát triển • Câu hỏi thường gặp FeaturesDocumentationExampleDevelopmentFAQ

Hướng dẫn can i use css modules in react native? - tôi có thể sử dụng mô-đun css trong phản ứng gốc không?

Đặc trưng

  • Bạn có thể chia sẻ các mô -đun CSS của mình giữa React Native và React Web bằng cách sử dụng thuộc tính className trong React Native và bằng cách sử dụng React Native cho Web cho trình duyệt.
  • Hỗ trợ CSS, POSTCSS, SASS, ít hơn và bút stylus.
  • CSS tải nóng (tải lại trực tiếp).
  • Hỗ trợ các tính năng CSS đáp ứng: Truy vấn phương tiện CSS và các đơn vị chế độ xem CSS.
  • Hỗ trợ các biến CSS.
  • Các tiện ích mở rộng dành riêng cho nền tảng cho CSS, ví dụ: styles.ios.css, styles.android.css, styles.native.css.
  • Hỗ trợ cho thuộc tính ____10 cho phép bạn sử dụng tên lớp CSS làm chuỗi và cho phép dấu gạch nối trong tên lớp (như thuộc tính ClassName trong Web React).
  • 📦 Supports TypeScript với các định nghĩa kiểu gốc React, thêm hỗ trợ cho các mô -đun CSS tự nhiên và CSS, SASS, LESS, POSTCSS hoặc máy biến áp bút tự động tạo tự động tạo các bản đánh máy cho các tệp CSS của bạn.
  • 🔍 Giữ lỗi CSS của bạn miễn phí bằng cách sử dụng cấu hình stylelint tùy chỉnh cho các mô -đun CSS gốc React

Ví dụ

Sử dụng các mô -đun CSS tự nhiên React hoạt động gần giống như cách sử dụng các mô -đun CSS với dự án Web React, nhưng có một số hạn chế. Không có bộ chọn CSS phức tạp hỗ trợ. Chỉ bộ chọn lớp CSS đơn giản (ví dụ:

import React from "react";
import { Text, View } from "react-native";
import styles from "./App.scss";

const App = () => (
  <View className={styles.container}>
    <Text className={styles.blueText}>Blue text</Text>
  </View>
);
export default App;
1) được hỗ trợ. React Native cũng chỉ hỗ trợ một tập hợp các thuộc tính CSS của trình duyệt để tạo kiểu.

Để biết thêm thông tin về sự khác biệt giữa việc sử dụng các mô -đun CSS trong Web và React Native, hãy xem lời giải thích này trong Câu hỏi thường gặp.

Ví dụ cơ bản sử dụng SASS

App.scss

.container {
  flex: 1;
  justify-content: center;
  align-items: center;
}

.blue {
  color: blue;
}

.blueText {
  @extend .blue;
  font-size: 18px;
}

App.js

import React from "react";
import { Text, View } from "react-native";
import styles from "./App.scss";

const App = () => (
  <View className={styles.container}>
    <Text className={styles.blueText}>Blue text</Text>
  </View>
);
export default App;

CSS Media Truy vấn và đơn vị chế độ xem CSS

Nếu bạn cần các truy vấn truyền thông CSS hoặc đơn vị chế độ xem CSS, vui lòng xem hướng dẫn thiết lập tính năng CSS đáp ứng.

.wrapper {
  height: 10vh;
  width: 10vw;
}

@media (min-width: 800px) {
  .wrapper {
    height: 20vh;
    width: 20vw;
  }
}

Biến CSS

Các biến CSS không được hỗ trợ theo mặc định, nhưng bạn có thể thêm hỗ trợ cho chúng bằng cách sử dụng plugin PostcSS và PostcSS-CSS-Variables.

Vui lòng xem hướng dẫn thiết lập biến CSS.

:root {
  --text-color: blue;
}

.blue {
  color: var(--text-color);
}

Xuất các biến từ CSS sang JavaScript

Bạn cũng có thể cần chia sẻ các biến của bạn từ tệp CSS/SASS/LESS/Stylus đến JavaScript. Để làm điều đó, bạn có thể sử dụng từ khóa

import React from "react";
import { Text, View } from "react-native";
import styles from "./App.scss";

const App = () => (
  <View className={styles.container}>
    <Text className={styles.blueText}>Blue text</Text>
  </View>
);
export default App;
2:

colors.scss

$grey: #ccc;

:export {
  grey: $grey;
}

App.js

import React from "react";
import { Text, View } from "react-native";
import colors from "./colors.scss";
import styles from "./App.scss";

const App = () => (
  <View className={styles.container}>
    <Text className={styles.blueText} style={{ color: colors.grey }}>
      Grey text
    </Text>
  </View>
);
export default App;

Ứng dụng ví dụ

Hãy xem các ứng dụng ví dụ để xem cách bạn có thể sử dụng các mô -đun CSS cho cả React Native và Web bằng cùng một mã.

  • Ứng dụng ví dụ
  • Ứng dụng ví dụ truy vấn phương tiện CSS
  • Ứng dụng ví dụ đơn vị xem CSS
  • Ứng dụng ví dụ với cú pháp Stylename
  • Ứng dụng Ví dụ TypeScript

Tài liệu

Thiết lập

  • Thiết lập các mô -đun CSS với hỗ trợ CSS
  • Thiết lập các mô -đun CSS với hỗ trợ Postcss
  • Thiết lập các mô -đun CSS với hỗ trợ SASS
  • Thiết lập các mô -đun CSS với ít hỗ trợ hơn
  • Thiết lập các mô -đun CSS với hỗ trợ bút stylus
  • Thiết lập các mô -đun CSS với hỗ trợ CSS đáp ứng (CSS Media truy vấn & đơn vị chế độ xem CSS)
  • Thiết lập các mô -đun CSS với các biến CSS hỗ trợ
  • Thiết lập các mô -đun CSS với hỗ trợ TypeScript
  • Thiết lập các mô -đun CSS với thuộc tính Stylename (sử dụng ClassName làm chuỗi)
  • Sử dụng CSS và SASS trong cùng một dự án
  • Thiết lập Lining được đề xuất (Eslint & Stylelint)
  • Khả năng tương thích trình duyệt thiết lập

Tài liệu khác

  • Các câu hỏi thường gặp
  • Cấu hình stylelint cho các mô -đun CSS gốc React
  • Danh sách các thuộc tính CSS được Hỗ trợ bởi React Native (OFFOTING DATE)

Sự phát triển

Để xem những tính năng mới đang được lên kế hoạch và những gì đang được tiến hành, xin vui lòng xem bảng phát triển.

Nếu bạn muốn đề xuất một tính năng mới hoặc báo cáo lỗi, vui lòng mở một vấn đề mới.


Cảm tạ

Ý tưởng cho các mô-đun CSS bản địa React xuất phát từ các dự án này đã thực hiện rất nhiều công việc để hỗ trợ các mô-đun CSS và CSS trong React Native: CSS-to-React-Imact và React-Bản địa-sass-classname. Một lời cảm ơn lớn đến họ!


Giấy phép

MIT

Tôi có thể sử dụng các mô -đun CSS trong React không?

Trong thành phần chức năng React, chúng tôi sẽ sử dụng các mô -đun CSS. Mã bên dưới làm tăng giá trị đếm lên một và sử dụng Usestate trong chức năng. Thành phần JS sẽ được tạo ra. nhập phản ứng, {usestate} từ "React"; Nhập các lớp từ "./styles.. The code below increases the count value by one and makes use of useState in the FunctionCounter. js Component that will be created. import React, { useState } from "react"; import classes from "./Styles.

Tôi có thể sử dụng HTML và CSS trong React Native không?

Khi làm việc với React Native, theo mặc định, nó không sử dụng HTML và CSS làm ứng dụng web.Trên thực tế, ngay lập tức, mọi thứ đều được tạo kiểu tự động dựa trên Flexbox.Trong bài viết này, bạn sẽ được giới thiệu cách áp dụng kiểu dáng để phản ứng các ứng dụng gốc.by default it does not use HTML and CSS as a web application. In fact, right out of the box, everything is automatically styled based on Flexbox. In this article, you will be introduced to how to apply styling to React Native applications.

Phản ứng có kiểu dáng bản địa giống như CSS không?

Stying in React Native không giống như CSS bình thường.Đối với các yếu tố kiểu dáng trong React Native, các đối tượng JavaScript được sử dụng.Mỗi thành phần cốt lõi trong React Native đều chấp nhận phong cách prop chấp nhận đối tượng JavaScript chứa tên thuộc tính CSS là khóa.. For styling elements in React Native, JavaScript objects are used. Every core component in React Native accepts the style prop which accepts a JavaScript object containing CSS property names as key.

Có tốt không khi sử dụng CSS với React?

Tài liệu React chính thức nói rằng, trong khi sử dụng các mô hình nội tuyến được hỗ trợ, sử dụng các lớp CSS tiêu chuẩn nói chung tốt hơn cho hiệu suất.using standard css classes in generally better for performance.