繁体   English   中英

将值推送到 state 时,我在 React Native 上遇到错误

[英]I am getting an error on React Native when pushing value to state

我正在使用 react native 和 firebase 制作应用程序,但我遇到错误 TypeError: undefined is not an object 的问题(在单击+按钮时TypeError: undefined is not an object (evaluating 'this.state.desativado.push')

在此处输入图像描述

完整代码-> https://pastebin.com/a9HmB89G

你错过了state = {desativados: []}; 哪个结尾有“s”?

因为从代码state = {desativado: ""}; , desativado (末尾没有 s)是一个字符串,它没有 push 方法。

state = {itens: "", novositens: [], desativados: []}; // consolidate in one line to avoid overridden 

this.setState({
    desativados: this.state.desativados.concat(chave), // push to desativados instead of desativado
    bagulho: this.state.novositens.concat(nome)
})

最好获取 setState 提供的当前 state

this.setState((state) => {
  return {
    desativados: state.desativados.concat(chave),
    bagulho: state.novositens.concat(nome)
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM