Title Text

Статический HTML
- без Razor
- данные запрашиваются после того как загрузился html и скрипты
- по хорошему нужен code-splitting
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Webpack App</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
<link rel="shortcut icon" href="/payments/Content/favicon.ico">
<link href="/payments/Content/main.css" rel="stylesheet">
</head>
<body>
<script type="text/javascript" src="/payments/Content/main.js">
</script>
</body>
</html>
react-ui-validations
- всратое API
- вынесли всё в хук useValidation
- чтобы работали кастомные компоненты нужно прокидывать неочевидные поля


useValidation


Всратое API

POSTCSS
SASS
[
require("autoprefixer")(),
require("postcss-flexbugs-fixes"),
require("postcss-custom-media")({
importFrom: "App/styles/media.css",
preserve: false
}),
require("postcss-custom-properties")({
importFrom: "App/styles/variables.css"),
preserve: false
})
]
custom-properties
:root {
--infoBorderColor: #1D85D0;
--warningBorderColor: #F69C00;
--successBorderColor: #3F9726;
--errorBorderColor: #D70C17;
...
}
.info {
color: var(--infoTextColor);
border-color: var(--infoBorderColor);
}
custom-media


Особенности
- нельзя использовать переменные в custom-media
- переменные можно объявлять только в :root
- переменные нельзя изменять из JS
- можно объявлять переменные через :root в стилях, но работать это будет иначе
Мобильная верстка
- mobile first?
Г




Контекст
BillInfoContext
BankTransferForm
Text
Payer: { Email, BIK, Number, Inn, Kpp }
State: { Email, BIK, Number }
Лифтинг
BillInfoContext
BankTransferForm
OnlinePaymentForm
PaymentForm
Payer: { Email, BIK, Number, Inn, Kpp }
State: { Email, BIK, Number }
{ Email, BIK, Number }
{ Email }
setState()
setState()
useApi
- Хук для вызова API из компонентов
- Хранит состояние запроса { result, error, isLoading }
- Пробрасывает ошибку в контекст


1
2

2
3
Тесты на хуки

изи
Тесты на компоненты?
- как ловить сайдэффекты? (редирект)
не изи?

deck
By Andrey Osipov
deck
- 654