Skip to content

Instantly share code, notes, and snippets.

@XaveScor
XaveScor / react-fails.md
Last active Apr 15, 2021
Неочевидности реакта
View react-fails.md

Хуки и componentWillUnmount

С первого взгляда аналог componentWillUnmount очень прост:

function useWrongUnmount(f) {
  useEffect(() => () => f(), [])
}

Если вы гляните на всякие react-awesome, то увидите, что всякие библиотеки хуков используют именно эту имплементацию:

@XaveScor
XaveScor / contextVsStateManager.MD
Last active Jan 9, 2022
Context vs StateManager
View contextVsStateManager.MD

По мотивам вопросов чатика react.js@telegram

Оффтоп: пожалуйста, не нужно в сотый раз объяснять уже набившую оскомину тему новичку, который задаст подобный вопрос. Просто поделитесь ссылкой на этот текст. С уважением, Андрей @XaveScor Звёздочка


Краткий ответ на этот вопрос, если вы не хотите разбираться детальнее:

  • Если вы экспериментируете, то можете взять в качестве стейт-менеджера что угодно. Буквально. Опыт лишним не будет.
View react.js
//Field.js
//@flow
import FieldPure from './Field.pure'
import React from 'react'
type PropsType = {
value: string,
header: string,
onChange: string => void | () => void,
type: 'text' | 'password',
View flow.js
type DataType =
| {'grant_type': 'silent'}
| {'grant_type': 'password', 'username': string, 'password': string}
type BodyType = {
'client_id': string,
'client_secret': string,
'scope': string,
} & DataType
...
request(data: DataType): Promise<string> {
View test1.java
package kz.xavescor;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<ArrayList<String>> table = new ArrayList<>();
View third.sql
--http://vitu.oit.cmc.msu.ru/mod/assignment/view.php?id=1848
--1
IF OBJECT_ID('dbo.t1', 'U') IS NOT NULL
DROP TABLE dbo.t1;
CREATE TABLE t1 (
f1 int,
f2 int,
f3 varchar(5)
);
View second.sql
--http://vitu.oit.cmc.msu.ru/mod/assignment/view.php?id=1820
--1
IF OBJECT_ID('dbo.firma', 'U') IS NOT NULL
DROP TABLE dbo.firma;
CREATE TABLE firma (
codf int,
fname varchar(10),
fio varchar(18),
city varchar(15)
);
View first.sql
--1
IF OBJECT_ID('dbo.t3', 'U') IS NOT NULL
DROP TABLE dbo.t3;
CREATE TABLE t3 (
id int IDENTITY(1,1) PRIMARY KEY,
f1 varchar(12),
f2 int
);
--2
View 123.sql
--1
IF OBJECT_ID('dbo.t3', 'U') IS NOT NULL
DROP TABLE dbo.t3;
CREATE TABLE t3 (
id int IDENTITY(1,1) PRIMARY KEY,
f1 varchar(12),
f2 int
);
--2
View gist:c1fe24085830b3bd827ad9b017e92c3f
SELECT * FROM t3;
SELECT TOP 6 * FROM t3;
INSERT INTO t3(f1, f2) VALUES
('aaa', 100),
('aaa', 200);
SELECT DISTINCT * FROM t3;