Можно ли сделать так, чтобы валидатор Flow проверял синтаксис обновления immutability-helper в реагирующих setState? - PullRequest
0 голосов
/ 04 октября 2018

Я использую flow с кодом Visual Studio, интегрированным с плагином vscode-flow-ide .Метод обновления неизменяемости исходит от immutability-helper .Можно ли сделать валидатор Flow check :: update метод синтаксиса для ошибок с вашим типом определения состояния.

Пример:

type State = {
    validTitle: boolean,
    post: {
        featured: boolean
    }
};
this.setState({
    validTitle: false,
    post: update(this.state.post, {
        featured: { $set: "" }
    })
});

Каждое простое обновление состояния, такое как свойство validTitle, будет корректно проверено, но вызовы метода update будут пропущены из-за его объявления:

update<any, never>(target: any, spec: Spec<any, never>): any

Таким образом, мой вопрос: Есть ли способ заставить Flow искать ошибки в синтаксисе метода обновления и в моем примере найти, что «Featured»свойство устанавливается недействительным значением?

1 Ответ

0 голосов
/ 05 октября 2018

К сожалению, в настоящее время такого способа нет.

Я начал думать о написании своей собственной функции-обертки для проверки типов в середине, но потом я понял, что использование Object.assign и оператора распространения для массивов [...array] справедливо и достаточно просто длясохранение неизменности состояния.

И, конечно, с помощью этого средства проверки потока подхода сообщит вам о неправильных присвоениях значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...