escape квадратные скобки с формиком - PullRequest
0 голосов
/ 08 марта 2019

Я использую Formik в реакции и у меня возникают проблемы с квадратными скобками при использовании проверки для отображения ошибок на экране. Я пытался с "\[", но это не сработало. Использование insted, например «text», «text-i» или даже «text (i)», работает нормально, но у меня проблемы только с квадратными скобками.

isDataValid = (values: KeyValue<any>) => {
        let errors: FormikErrors<KeyValue<any>> = {};

      (for let i=0; i<... etc) {
        if (!values["text[i]"]) {
            errors["text[i]"] = "Insert title";
        }
     }  

        return errors;

Любые советы?

1 Ответ

0 голосов
/ 09 марта 2019

Не используется i, похоже, проблема.Чтобы использовать i в цикле for, в этом случае вы можете использовать литералы шаблона или +.

Использование литералов шаблона:

(for let i=0; i<... etc) {
    if (!values[`text[${i}]`]) {
        errors[`text[${i}]`] = "Insert title";
    }
 } 

Использование+:

(for let i=0; i<... etc) {
    if (!values["text[" + i + "]"]) {
        errors["text[" + i + "]"] = "Insert title";
    }
 } 

Обратите внимание, что использование литералов шаблона может привести к проблемам с совместимостью, см. https://caniuse.com/#feat=template-literals

...