С первого взгляда аналог componentWillUnmount очень прост:
function useWrongUnmount(f) {
useEffect(() => () => f(), [])
}
Если вы гляните на всякие react-awesome, то увидите, что всякие библиотеки хуков используют именно эту имплементацию:
По мотивам вопросов чатика react.js@telegram
Оффтоп: пожалуйста, не нужно в сотый раз объяснять уже набившую оскомину тему новичку, который задаст подобный вопрос. Просто поделитесь ссылкой на этот текст. С уважением, Андрей @XaveScor Звёздочка
Краткий ответ на этот вопрос, если вы не хотите разбираться детальнее:
//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', |
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> { |
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<>(); |
--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) | |
); |
--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) | |
); |
--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 |
--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 |
SELECT * FROM t3; | |
SELECT TOP 6 * FROM t3; | |
INSERT INTO t3(f1, f2) VALUES | |
('aaa', 100), | |
('aaa', 200); | |
SELECT DISTINCT * FROM t3; |