gpt4 book ai didi

javascript - 为什么我输入的数据长度只有1个符号却是0?

转载 作者:行者123 更新时间:2023-12-02 21:10:47 25 4
gpt4 key购买 nike

当我键入输入时,当我已经键入 1 个符号时,我的调试器将 e.target.value 显示为 0 长度。它可能是什么?提前致谢

handleChange(e) {
this.setState({
description: e.target.value,
});
if (this.state.description.length > 1) {
const regex = /(^[a-zA-Z1-9]+[a-zA-Z1-9. ]+)$/;
const match = regex.test(e.target.value);
if (match !== false) {
this.setState({
validInput: true,
});
} else {
this.setState({
validInput: false,
});
}
}
}

最佳答案

由于 setState 以异步方式发生,我们需要在 setState 回调中检查 description 的有效性,如下所示:

handleChange(e) {
this.setState({description: e.target.value}, function() {
this.validateDescription();
});
},
validateDescription() {
// This should return same length as you type
console.log(this.state.description.length)

if (this.state.description.length > 1) {
const regex = /(^[a-zA-Z1-9]+[a-zA-Z1-9. ]+)$/;
const match = regex.test(e.target.value);
if (match !== false) {
this.setState({validInput: true});
} else {
this.setState({validInput: false});
}
}
},

关于javascript - 为什么我输入的数据长度只有1个符号却是0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61105981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com