С первого взгляда аналог 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; |