Вы не можете использовать стандартную String compareTo (), вместо этого нужно сравнить строки, следуя приведенному ниже алгоритму.
Повторите шаги.
this.setState({ firstNameValid })
- это просто сахар для this.setState({ firstNameValid: firstNameValid })
. Нет побочных эффектов.
Они называются shorthand property names
, и вы можете узнать больше о них здесь .
, если вы имеете в виду, что вы пишете
this.setState({foo: foo})
, и теперь вы используете this.setState({ foo })
, нет разницы.
Но setState
скорее всего будет иметь побочный эффект, во-первых, потому что он асинхронный и второй, потому что вы меняете все состояние компонента и вызывают рендеринг.
Кстати, этот короткий способ присвоения объекты - это функция JS, не имеющая никакого отношения к реакции.
response использует ES2015 (с webpack и babel).
setState принимает параметры, которые являются объектами.
В ES2015 { a : a }
совпадает с { a }
(обозначение стенограммы объекта).
Таким образом, x = { a : a, b : b ...}
то же, что и x = { a, b ..}
. Таким образом, ваш код абсолютно корректен и не будет иметь никаких побочных эффектов.