1658775600
Chúng tôi không cần điều trị đặc biệt cho SVG. Chúng tôi có thể có thẻ SVG trong JSX giống như cách chúng tôi có div
hoặc liên kết tag
.
export const CoffeeIcon = () => {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
className="feather feather-coffee"
>
<path d="M18 8h1a4 4 0 0 1 0 8h-1"></path>
<path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path>
<line x1="6" y1="1" x2="6" y2="4"></line>
<line x1="10" y1="1" x2="10" y2="4"></line>
<line x1="14" y1="1" x2="14" y2="4"></line>
</svg>
)
}
Tôi lưu trữ tất cả các biểu tượng cho ứng dụng của mình trong ui/icons
thư mục. Nếu chúng tôi mở bất kỳ tệp nào trong số đó, chúng tôi sẽ tìm thấy một thành phần React thông thường mà tôi hiển thị như bất kỳ thành phần React nào khác.
Để tìm biểu tượng SVG cho dự án của mình, tôi thường vào các trang web như Google Fonts hoặc Feather .
Để có biểu tượng chuông, tôi sẽ tìm kiếm nó, tải xuống biểu tượng, sau đó mở nó trong trình chỉnh sửa mã.
Sau đó, tôi sẽ tạo một thành phần, sao chép và dán nội dung SVG vào thành phần biểu tượng, sau đó sửa tất cả các lỗi định dạng bằng tính năng tự động sửa lỗi của VS Code. Chúng tôi không muốn một kích thước được mã hóa cứng. Hãy đặt nó thành 1em
width
và height
để nó có cùng kích thước với cha mẹ. Để kế thừa màu gốc, chúng ta sẽ đặt nét viền thành currentColor
.
Nguồn: https://radzion.com/blog/svg
#svg #vscode #react #typescript
1598839687
If you are undertaking a mobile app development for your start-up or enterprise, you are likely wondering whether to use React Native. As a popular development framework, React Native helps you to develop near-native mobile apps. However, you are probably also wondering how close you can get to a native app by using React Native. How native is React Native?
In the article, we discuss the similarities between native mobile development and development using React Native. We also touch upon where they differ and how to bridge the gaps. Read on.
Let’s briefly set the context first. We will briefly touch upon what React Native is and how it differs from earlier hybrid frameworks.
React Native is a popular JavaScript framework that Facebook has created. You can use this open-source framework to code natively rendering Android and iOS mobile apps. You can use it to develop web apps too.
Facebook has developed React Native based on React, its JavaScript library. The first release of React Native came in March 2015. At the time of writing this article, the latest stable release of React Native is 0.62.0, and it was released in March 2020.
Although relatively new, React Native has acquired a high degree of popularity. The “Stack Overflow Developer Survey 2019” report identifies it as the 8th most loved framework. Facebook, Walmart, and Bloomberg are some of the top companies that use React Native.
The popularity of React Native comes from its advantages. Some of its advantages are as follows:
Are you wondering whether React Native is just another of those hybrid frameworks like Ionic or Cordova? It’s not! React Native is fundamentally different from these earlier hybrid frameworks.
React Native is very close to native. Consider the following aspects as described on the React Native website:
Due to these factors, React Native offers many more advantages compared to those earlier hybrid frameworks. We now review them.
#android app #frontend #ios app #mobile app development #benefits of react native #is react native good for mobile app development #native vs #pros and cons of react native #react mobile development #react native development #react native experience #react native framework #react native ios vs android #react native pros and cons #react native vs android #react native vs native #react native vs native performance #react vs native #why react native #why use react native
1658775600
Chúng tôi không cần điều trị đặc biệt cho SVG. Chúng tôi có thể có thẻ SVG trong JSX giống như cách chúng tôi có div
hoặc liên kết tag
.
export const CoffeeIcon = () => {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
className="feather feather-coffee"
>
<path d="M18 8h1a4 4 0 0 1 0 8h-1"></path>
<path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path>
<line x1="6" y1="1" x2="6" y2="4"></line>
<line x1="10" y1="1" x2="10" y2="4"></line>
<line x1="14" y1="1" x2="14" y2="4"></line>
</svg>
)
}
Tôi lưu trữ tất cả các biểu tượng cho ứng dụng của mình trong ui/icons
thư mục. Nếu chúng tôi mở bất kỳ tệp nào trong số đó, chúng tôi sẽ tìm thấy một thành phần React thông thường mà tôi hiển thị như bất kỳ thành phần React nào khác.
Để tìm biểu tượng SVG cho dự án của mình, tôi thường vào các trang web như Google Fonts hoặc Feather .
Để có biểu tượng chuông, tôi sẽ tìm kiếm nó, tải xuống biểu tượng, sau đó mở nó trong trình chỉnh sửa mã.
Sau đó, tôi sẽ tạo một thành phần, sao chép và dán nội dung SVG vào thành phần biểu tượng, sau đó sửa tất cả các lỗi định dạng bằng tính năng tự động sửa lỗi của VS Code. Chúng tôi không muốn một kích thước được mã hóa cứng. Hãy đặt nó thành 1em
width
và height
để nó có cùng kích thước với cha mẹ. Để kế thừa màu gốc, chúng ta sẽ đặt nét viền thành currentColor
.
Nguồn: https://radzion.com/blog/svg
1658925060
Làm cách nào để sử dụng thành thạo các biến môi trường trong ứng dụng React? Hãy để tôi chỉ cho bạn một cách nhanh chóng.
Tôi truy cập các biến môi trường thông qua một nguồn duy nhất - assertEnvVar
hàm. Hàm sẽ báo lỗi nếu không có biến này.
type VariableName = "SENTRY_KEY" | "API_URL" | "VERSION"
export const assertEnvVar = (name: VariableName): string => {
const envVarName = `REACT_APP_${name}`
const value = process.env[envVarName]
if (!value) {
throw new Error(`Missing ${envVarName} environment variable`)
}
return value
}
Là process.env
một đối tượng với các biến môi trường. Nhưng chúng tôi không muốn tất cả các biến môi trường trong gói cho cả thế giới xem. Tôi sử dụng create-react-app
, và nó sẽ chỉ xuất các biến bắt đầu bằng REACT_APP_
. Các trình khởi động và khuôn khổ khác nhau có các tiền tố khác nhau. Ví dụ, Vite sẽ có một VITE_
tiền tố.
Để không viết sai chính tả tên biến môi trường, chúng ta có kiểu liên hợp thay vì kiểu chuỗi cho đối số tên của hàm. Những tên đó không bao gồm REACT_APP_
tiền tố, vì vậy các khóa ngắn hơn. Nếu tôi thay đổi công cụ giao diện người dùng, tôi sẽ chỉ cần cập nhật tiền tố ở một nơi thay vì thực hiện mọi lệnh gọi hàm.
Để phát triển cục bộ, tôi khai báo các biến môi trường trong .env
tệp. Đối với sản xuất, tôi đặt chúng trước khi triển khai phiên bản mới. Bạn cũng có thể đặt các biến môi trường trong một tập lệnh. Tôi làm điều đó để truy cập package.json's
phiên bản trong ứng dụng.
"start": "REACT_APP_VERSION=$npm_package_version react-scripts start"
1658903760
Cách tốt nhất để xử lý màu sắc trong ứng dụng React là gì? Hãy cùng tìm hiểu.
Chúng tôi sẽ sử dụng định dạng màu HSLA có bốn thành phần. Huế là màu của chính nó. Đó là một góc trên bánh xe màu nằm trong khoảng từ 0 đến 360, trong đó 120 có màu xanh lá cây và 240 màu xanh lam. Độ bão hòa là tỷ lệ phần trăm trong đó 100% làm cho màu hoàn toàn bão hòa và 0% sẽ làm cho màu có màu xám. Độ sáng cũng là một giá trị phần trăm, trong đó 100% sẽ làm cho bất kỳ màu nào có màu trắng và 0% - màu đen. Thành phần cuối cùng là alpha. Khi nó là 0, màu trong suốt và một - hoàn toàn không trong suốt.
HSLA cung cấp cho chúng ta một cách trực quan để thay đổi màu sắc. Bạn có muốn tạo màu nhạt hơn một chút không? Bạn có thể tăng thành phần L lên 10%. Bạn sẽ làm điều đó như thế nào với RGB hoặc HEX? Nó không phải là dễ dàng hoặc thanh lịch.
Ở đây chúng tôi có lớp HSLA. Hàm tạo nhận bốn tham số, trong đó alpha là một tham số theo mặc định.
export const hslaKeys = ["h", "s", "l", "a"] as const
export type ColorModifiers = Partial<
Record<typeof hslaKeys[number], (parameter: number) => number>
>
const enforceRange = (value: number, min: number, max: number) =>
Math.max(min, Math.min(max, value))
export class HSLA {
private _h = 0
get h(): number {
return this._h
}
set h(newH: number) {
this._h = enforceRange(newH, 0, 360)
}
private _l = 0
get l(): number {
return this._l
}
set l(newL: number) {
this._l = enforceRange(newL, 0, 100)
}
private _s = 0
get s(): number {
return this._s
}
set s(newS: number) {
this._s = enforceRange(newS, 0, 100)
}
private _a = 0
get a(): number {
return this._a
}
set a(newA: number) {
this._a = enforceRange(newA, 0, 100)
}
constructor(h: number, s: number, l: number, a = 1) {
this.h = h
this.s = s
this.l = l
this.a = a
}
toCssValue() {
return `hsla(${this.h},${this.s}%,${this.l}%,${this.a})`
}
getVariant(modifiers: ColorModifiers) {
const [h, s, l, a] = hslaKeys.map(key => {
const value = this[key]
const modifier = modifiers[key]
return modifier ? modifier(value) : value
})
return new HSLA(h, s, l, a)
}
}
Để chuyển đổi nó thành giá trị CSS, chúng tôi có một phương pháp lấy từng thành phần và chuyển chúng thành một hàm CSS HSLA.
Để có được một biến thể màu mới, chúng tôi có getVariant
phương pháp. Nó nhận một đối tượng có bổ ngữ, trong đó sửa đổi là một hàm nhận giá trị thành phần cũ và trả về giá trị mới.
Để giữ các thành phần bên trong một phạm vi, chúng tôi sử dụng bộ định tuyến. Nếu chúng tôi cố gắng tạo độ bão hòa 120% phần trăm, bộ thiết lập S chúng tôi sẽ chuyển đổi nó 100%, bằng cách tận dụng enforceRange
chức năng.
Ứng dụng của tôi chỉ có một số màu cơ bản và tôi sử dụngHSLA
lớp để xác định tất cả chúng. Ở đây chúng tôi có một số biến, như độ sáng chính hoặc độ bão hòa nền, mà chúng tôi chia sẻ với khá nhiều màu.
import { HSLA } from "./HSLA"
const primaryHue = 210
const primarySecondHue = 41
const primaryThirdHue = 6
const primarySaturation = 92
const primaryLightness = 52
const lightnessIncrease = 5
export const backgroundHue = 214
const backgroundSaturation = 42
const backgroundLightness = 10
const transparentSaturation = 60
const transparentLightness = 88
export const regularTextAlpha = 0.9
export const colors = {
primary: new HSLA(primaryHue, primarySaturation, primaryLightness),
attention: new HSLA(primarySecondHue, primarySaturation, primaryLightness),
alert: new HSLA(primaryThirdHue, primarySaturation, primaryLightness),
success: new HSLA(130, primarySaturation, primaryLightness),
background: new HSLA(
backgroundHue,
backgroundSaturation,
backgroundLightness + lightnessIncrease
),
backgroundDark: new HSLA(
backgroundHue,
backgroundSaturation,
backgroundLightness,
1
),
backgroundLight: new HSLA(
backgroundHue,
backgroundSaturation,
backgroundLightness + lightnessIncrease * 2
),
text: new HSLA(
backgroundHue,
transparentSaturation,
transparentLightness,
regularTextAlpha
),
backgroundDimGlass: new HSLA(
backgroundHue,
transparentSaturation,
transparentLightness,
0.5
),
backgroundGlass: new HSLA(
backgroundHue,
transparentSaturation,
transparentLightness,
0.15
),
overlay: new HSLA(backgroundHue, backgroundSaturation, 1, 0.8),
white: new HSLA(0, 0, 256, 1),
} as const
export type Colors = typeof colors
export type ColorName = keyof typeof colors
Để đưa những màu đó vào styled-components
Theme
các kiểu, chúng ta có thể tạo tệp khai báo kiểu và mở rộng chủ đề mặc định.
import "styled-components"
import { Colors } from "ui/colors"
declare module "styled-components" {
export interface DefaultTheme {
colors: Colors
}
}
Sau đó, chúng ta có thể tạo một theme
đối tượng, chuyển nó đến ThemeProvider
và sử dụng màu sắc trong các thành phần được tạo kiểu.
import { DefaultTheme, ThemeProvider } from "styled-components"
import { colors } from "ui/colors"
export const theme: DefaultTheme = { colors } as const
export const App = () => <ThemeProvider theme={theme}>...</ThemeProvider>
Dưới đây là một ví dụ về thành phần huy hiệu tạo nền bằng cách tạo một biến thể gần như trong suốt và chuyển đổi nó thành giá trị CSS.
background: ${({ theme }) => theme.colors.success.getVariant({ a: () => a * 0.2 }).toCssValue()};
1615544450
Since March 2020 reached 556 million monthly downloads have increased, It shows that React JS has been steadily growing. React.js also provides a desirable amount of pliancy and efficiency for developing innovative solutions with interactive user interfaces. It’s no surprise that an increasing number of businesses are adopting this technology. How do you select and recruit React.js developers who will propel your project forward? How much does a React developer make? We’ll bring you here all the details you need.
Facebook built and maintains React.js, an open-source JavaScript library for designing development tools. React.js is used to create single-page applications (SPAs) that can be used in conjunction with React Native to develop native cross-platform apps.
In the United States, the average React developer salary is $94,205 a year, or $30-$48 per hour, This is one of the highest among JavaScript developers. The starting salary for junior React.js developers is $60,510 per year, rising to $112,480 for senior roles.
In context of software developer wage rates, the United States continues to lead. In high-tech cities like San Francisco and New York, average React developer salaries will hit $98K and $114per year, overall.
However, the need for React.js and React Native developer is outpacing local labour markets. As a result, many businesses have difficulty locating and recruiting them locally.
It’s no surprise that for US and European companies looking for professional and budget engineers, offshore regions like India are becoming especially interesting. This area has a large number of app development companies, a good rate with quality, and a good pool of React.js front-end developers.
As per Linkedin, the country’s IT industry employs over a million React specialists. Furthermore, for the same or less money than hiring a React.js programmer locally, you may recruit someone with much expertise and a broader technical stack.
React is a very strong framework. React.js makes use of a powerful synchronization method known as Virtual DOM, which compares the current page architecture to the expected page architecture and updates the appropriate components as long as the user input.
React is scalable. it utilises a single language, For server-client side, and mobile platform.
React is steady.React.js is completely adaptable, which means it seldom, if ever, updates the user interface. This enables legacy projects to be updated to the most new edition of React.js without having to change the codebase or make a few small changes.
React is adaptable. It can be conveniently paired with various state administrators (e.g., Redux, Flux, Alt or Reflux) and can be used to implement a number of architectural patterns.
Is there a market for React.js programmers?
The need for React.js developers is rising at an unparalleled rate. React.js is currently used by over one million websites around the world. React is used by Fortune 400+ businesses and popular companies such as Facebook, Twitter, Glassdoor and Cloudflare.
As you’ve seen, locating and Hire React js Developer and Hire React Native developer is a difficult challenge. You will have less challenges selecting the correct fit for your projects if you identify growing offshore locations (e.g. India) and take into consideration the details above.
If you want to make this process easier, You can visit our website for more, or else to write a email, we’ll help you to finding top rated React.js and React Native developers easier and with strives to create this operation
#hire-react-js-developer #hire-react-native-developer #react #react-native #react-js #hire-react-js-programmer