与formik逃避方括号

问题描述 投票:0回答:1

我正在使用Formik做反应,在使用验证时我遇到方括号问题,以便在屏幕上显示错误。我尝试使用"\[",但它没有用。使用“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;

有小费吗?

reactjs formik
1个回答
0
投票

不使用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

© www.soinside.com 2019 - 2024. All rights reserved.