Публикации по теме 'flowtype'
Adopting Reason: стратегии, двойные источники истины и почему genType так важен
Прочтите полную и обновленную историю по адресу https://www.javierchavarri.com/adopting-reason-strategies-dual-sources-of-truth-and-why-gentype-is-a-big-deal/ .
Точные типы объектов по умолчанию, по умолчанию
Мы объявили 5 лет назад о плане в конечном итоге сделать точные типы объектов по умолчанию . Сейчас мы работаем по этому плану. Начиная с Flow 0.200, вы должны явно установить либо exact_by_default=true , либо exact_by_default=false в разделе [options] вашего .flowconfig , поскольку мы исключили значение по умолчанию (которое было false ). Из потока 0.202 снова будет добавлено значение по умолчанию, на этот раз как exact_by_default=true .
В будущих версиях мы предпримем..
Полугруппы
Адаптировано из Алгебраической структуры и протоколов автора @mbrandonw
Математики любят изучать объекты абстрактно. Когда объект представляет собой набор элементов, который снабжен некоторыми операциями (и некоторыми законами!), Мы называем это алгеброй . В этом посте мы увидим, как алгебры могут быть закодированы как интерфейсы, а затем представлены некоторые важные алгебры.
Начнем с простейшей алгебры, о которой мы только можем подумать: магмы. магма - это пара (M, *) , в..
Принудительное использование разрешенных свойств/ключей объекта с типом потока, определенным объектом перечисления
Вы когда-нибудь задумывались, как заставить такую вещь работать правильно? Я тоже. Итак, вот как это сделать без какой-либо неизвестности утилиты $ObjMap‹T, F›.
Похоже, что это должно работать, но это не так. В наших основных предположениях есть несколько ошибок.
Вкратце: используйте утилиту Object.freeze() и $Exact<T> типа потока.
1. Тип не точный
Определение типа объекта в Flow по умолчанию неточное. Создание вашего типа объекта $Exact<T> заставит..
Советы и хитрости, часть 4: Тип против интерфейса
Проблема
Многие разработчики JS, которые на самом деле используют Flow, имеют некоторый фон TypeScript, и я считаю, что некоторые из них запутались с ключевыми словами interface и type в начале. Оба этих ключевых слова действительны как в мирах Flow, так и в Typescript.
Допустим, у нас есть:
/* @flow */
type SerializableObj = {
serialize(): string
};
interface Serializable {
serialize(): string;
};
Эти заявления кажутся одним и тем же. В простых случаях одно может..
Ненулевые значения в Flow
Flow поставляется с типом под названием Maybe , который позволяет вам указать, что тип значения - T | null | undefined , что очень полезно для инициализации или дополнительных свойств или аргументов.
Синтаксис довольно прост, вам просто нужно добавить ? перед типом значения следующим образом:
function foo(bar: ?number): ?number {
if (bar != null) {
return bar * bar
}
return bar
}
Как вы можете видеть в теле функции, нам нужно выполнить уточнение (проверить, не является ли..
Вопросы по теме 'flowtype'
Как объявить корневой экспорт модуля в объявлении интерфейса Flow?
Как объявить модуль module.exports в файле объявления интерфейса Flowtype?
Скажем, например, я использую Express:
import express from 'express';
const app = express();
2761 просмотров
schedule
02.05.2024
Функция высшего порядка, аннотации типа потока
Я пытаюсь написать несколько очень простых функциональных примеров для оценки системы типов Flow. Я пропустил что-то очевидное, или этот образец должен работать:
function logger (message: string): void {
console.log(message);
}
function...
1398 просмотров
schedule
03.11.2022
Flowtype Не охватывается потоком в цепочках свойств объекта
Я пытаюсь использовать Flow, но постоянно получаю предупреждение «Не охвачено Flow», поэтому мой код в основном подчеркнут. Я проверил документацию по Flow, но она не помогла в отношении цепочки свойств объектов, так что как заставить что-то...
3320 просмотров
schedule
29.06.2022
сигнатуры функций проверки типов с меньшим или большим количеством аргументов
Речь идет о заявлениях о проверке типов Flow, когда тип функции определен, а выражение функции, которое мы пытаемся проверить, имеет: (а) больше или (б) меньше аргументов, чем определенный тип.
Следующие typechecks как надо, тут вопросов нет....
106 просмотров
schedule
04.08.2022
Точное определение типа объекта и деструктуризация
Я определяю тип State с точной формой:
type State = {| someString: string, someNumber: number |};
Мое начальное состояние удовлетворяет этому определению:
const initialState : State = {
someString: 'hey',
someNumber: 1,
};...
400 просмотров
schedule
19.09.2022
Введите определенные идентификаторы с помощью FlowType
Я хотел бы определить карту сущностей таким образом, чтобы ключи всегда были идентификаторами какого-либо другого объекта указанного типа. Желаемое использование будет примерно таким:
export type Id<T> = {
id: string
};
export type Foo =...
92 просмотров
schedule
18.03.2024
Как помочь потоку обрабатывать инициализатор состояния реагирующего компонента?
У меня есть такая инициализация в моих компонентах React:
export default class LoginForm extends Component {
state = { // (*)
flash: {
message: null,
style: null
} // initialiser for flash message:...
571 просмотров
schedule
24.04.2024
Вызов `this.setState()` прерывает проверку типа потока на реквизите в componentWillReceiveProps.
Я получаю ошибку потока в реквизите, который, как я знаю, является строкой, когда я вызываю this.setState() прямо перед ним. Если я передвину вызов setState() после строки, в которой используется реквизит, ошибка исчезнет. Ошибка, которую я...
2110 просмотров
schedule
18.11.2023
неизменный поток терпит неудачу. живой тест на Трэвисе
Здравствуйте, у этого вопроса есть минимальный рабочий пример того, что я пытаюсь построить.
У меня проблемы с запуском проверки типа потока на простом файле JS. Вот как выглядит файл
// @flow
import type { Map } from 'immutable';
И я...
87 просмотров
schedule
16.10.2023
ESLint сообщает об ошибке no-undef для глобальных типов потокового типа
У меня есть глобальные типы, определенные в /flow-typed/redux.flow.js :
declare type Action = {|
+type: string,
+payload: any,
|}
declare type State = {|
+ui: UI,
+user: User,
+team: Team,
+projects: Project[],
+profile: Profile,...
3540 просмотров
schedule
10.06.2024
Определить тип потока, исключающий определенный тип
Я хотел бы иметь общую функцию, которая принимает параметр типа (() => T) | T , например
const myGenericFunction = <T>(param: ((() => T) | T)): T => {
if (typeof param === 'function') { return param(); }
return param;
};...
267 просмотров
schedule
08.09.2022
тип потока для массива элементов option из реакции
У меня есть функция, которая возвращает массив элементов реакции <option> :
function mapOptionToValues(
element: any,
valueKey: ?string,
optionKey: ?string
): React$Element<*> {
if (!valueKey && !optionKey) {...
360 просмотров
schedule
24.10.2022
Разделение проекта webpack es6 React на пакеты npm
Я прошу здесь поделиться лучшими практиками.
Кто-нибудь успешно разделил проект реактивного веб-приложения на частные пакеты функций npm?
У меня большая кодовая база, которую становится сложно разрабатывать, и было бы хорошо разбить ее на...
583 просмотров
schedule
22.08.2022
Тип потока для функции, возвращающей функцию
Из документации типа функции потока функция, возвращающая primitive type , похожа на это
const a = aFunc = (id: number): number => id + 1 .
Но как создать тип потока для функции, возвращающей функцию?
const aFunc = (id: number):...
3251 просмотров
schedule
10.10.2022
Потоковое объединение типов функций
Я работаю над добавлением типов потока в кодовую базу JS и столкнулся с таким нетипизированным кодом:
const doSomething = (callback, type) => {
if (type === 'one') {
const bool = callback(42)
} else if (type === 'two') {...
301 просмотров
schedule
25.09.2022
Как вы обрабатываете нормализованные объекты в Typed JS (Typescript/FlowType)?
Работа над проектом. Я начинаю с потокового типа, потому что его легче реализовать поэтапно, но в конечном итоге я планирую перейти от потокового к Typescript, когда мы перейдем от «доказательства концепции» к «прототипу». Однако решение этой...
481 просмотров
schedule
29.02.2024
Универсальный тип потока javascript Невозможно ссылаться на тип `CustomType` [1] из позиции значения.
Я пытаюсь вызвать асинхронную функцию и указать пользовательский тип (назовем его «CustomType»). Я указал несколько случайных свойств в этом типе, просто чтобы понять, что это то, что происходит из базы данных (содержимое может варьироваться в...
6798 просмотров
schedule
29.11.2023
Определения типов потока response-redux для ownProps, mapStateToProps и mapDispatchToProps
Я новичок в использовании потока, поэтому могу делать очень глупые ошибки.
Я хочу создать тип потока Props, который пересекает реквизиты, переданные компоненту, реквизиты, полученные из хранилища redux, возвращенные из mapStateToProps, и некоторые...
1690 просмотров
schedule
17.12.2023
Понимание потока Тип, основанный на другом типе
Я просматривал документацию потока ( ЗДЕСЬ ) и наткнулся на следующие строки кода:
function identity<T>(value: T): T {
return value;
}
Приведенный выше код используется для иллюстрации примера типа, основанного на другом типе ....
43 просмотров
schedule
02.07.2022
Лучший способ поддерживать легкие обертки при ограничении реагирующих компонентов в дочерних элементах с потоком
У нас есть компонент списка, который ограничивает своих дочерних элементов элементами списка. Это отлично работает, но мы сталкиваемся с проблемой, когда нам нужно обернуть дочерний элемент, чтобы добавить состояние или что-то подобное. В этом...
27 просмотров
schedule
05.11.2023