gpt4 book ai didi

javascript - 将状态设置为空字符串不会为我触发重新渲染?

转载 作者:行者123 更新时间:2023-12-05 06:35:42 24 4
gpt4 key购买 nike

我正在 table 上做一个实时搜索栏功能。我使用一个输入字段并绑定(bind)到 onKeyUp 一个 handleChange 函数,它使用输入字段中的值设置状态:搜索值。这将向下传播到我的表并触发搜索。它适用于任意数量的字符,即使在删除字符串时只要仍然有一个字符。

handleChange (e) {
this.setState({searchVal: e.target.value});
}

当我删除输入字段中的所有字符并且 e.target.value 给我“”时,不起作用。当它使用空字符串设置状态时,它根本不会触发重新渲染,因此我的搜索功能不会发生。我不明白为什么?如果我将 searchVal 硬编码为 null 或 undefined,情况是一样的。

编辑:发现它确实触发了 componentWillReceiveProps 和 componentWillUpdate 中的重新渲染,但 componentDidUpdate 没有,这是我处理搜索值的地方。

编辑:事实证明它确实重新呈现,我正在检查排除空字符串的真实性。我的错。

最佳答案

好吧,这里描述的问题就发生在我身上。如果返回“”,状态会更新,但页面不会重新呈现。我做了一个解决方法:

            if (result.file.length !== 0){
this.setState({text: result.file})
} else {
this.setState({text: " "})
}

有效。

关于javascript - 将状态设置为空字符串不会为我触发重新渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565627/

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