当前位置: 首页 > 知识库问答 >
问题:

无法将未定义或null转换为对象

堵德曜
2023-03-14
 {
        title: 'Stores', field: 'Depolar',
        editComponent: props => (
          <Select
            name="Depolar"
            type="text"
            value={that.state.selectedStores}
            multiple
            input={<Input />}
            onChange={e => {

                that.setState({
                  selectedStores:e.target.value
                })
            let store=that.state.stores.find(item => !that.state.selectedStores.includes(item.Adi)

            )
              Object.keys(store.Urunler).map(function (key,index) {
                if(store.Urunler[key]){
                that.setState({
                  products:that.state.products.push(store.Urunler[key])

                 });
                }

              })
              console.log(that.state.products)






          }}
          >
            {that.state.stores.map(item=> {
              return <MenuItem value={item.Adi}>{item.Adi}</MenuItem>
            })}
          </Select>
        )
      },
      {
        title: 'Products', field: 'Urunler',
        editComponent: props => (
          <Select
            name="Urunler"
            type="text"
            value={that.state.selectedProducts}
            input={<Input />}
            multiple
            onChange={e => {               
                that.setState({selectedProducts:e.target.value})

            }}
          >
            {/* Aşağıdaki mapde hata veriyor. Objecte çevir*/}
            {that.state.products ? Object.keys(that.state.products).map(function (key,index) {
              return <div><MenuItem value={that.state.products[key].Adi}>{that.state.products[key].Adi} </MenuItem></div>
            }
            ):null}
          </Select>
        )},

获取错误。我尝试做多个选择,并更改第二个选择的数据与第一个选择的上更改材料表行。我正在使用Firebase。

当“store.Urunler”为null或未定义时,我会出现此错误。而且我的产品没有列在菜单项上,这意味着选择是空的,但state.products有数据

我怎样才能克服这个错误。我还想添加到Urunler,选择一个输入。我知道我应该为onChanges调用函数,但如果它起作用,我以后会这样做

共有1个答案

淳于健
2023-03-14
{
        title: 'Stores', field: 'Depolar',
        editComponent: props => (
          <Select
            name="Depolar"
            type="text"
            value={that.state.selectedStores}
            multiple
            input={<Input />}
            onChange={async e => {
              let odata=[]

                this.setState({
                  selectedStores:e.target.value,
                  products:odata
                })
            let store= await that.state.stores.filter(item => (
              !that.state.selectedStores.includes(item.Adi))
        );
        console.log(store)
         this.changeProducts(store);}}
          >
            {that.state.stores.map(item=> {
              return <MenuItem value={item.Adi}>{item.Adi}</MenuItem>
            })}
          </Select>
        )
      },
      {
        title: 'Products', field: 'Urunler',
        editComponent: props => (
          <Select
            name="Urunler"
            type="text"
            value={that.state.selectedProducts}
            input={<Input />}
            multiple
            onChange={e => {               
                that.setState({selectedProducts:e.target.value})


            }}
          >
            {/* Aşağıdaki mapde hata veriyor. Objecte çevir*/}
            {that.state.products ? Object.keys(that.state.products).map(function (key,index) {
              return <div><MenuItem value={that.state.products[key].Adi}>{that.state.products[key].Adi} </MenuItem></div>
            }
            ):null}
          </Select>
        )
      },

changeProducts( store){
var that=this;
Object.keys(store).map(function (key,index) {
  let data=store[key].Urunler;
  if(data){
   that.setState({
    products:{...that.state.products,...data}

   });
  }

})

}

 类似资料:
  • 我正在运行一个React应用程序。 当我通过路由(单击按钮或链接)进入页面时,页面工作正常,但当我重新加载页面时,页面崩溃。我看不到错误在哪里,控制台和源代码显示为空,这是服务器消息控制台消息。 这是运行的代码。我尝试删除currentuser、addhabity和许多其他东西,只是为了了解错误的来源。没有结果。如果我通过链接进入页面,一切正常。 HabiddView.web.jsx 生活orm.

  • 我正在我的反应应用程序中创建一个上一个和下一个按钮。我试图获取页面的当前索引(我有一个存储在对象中的页面列表) 这是密码 我得到的错误是“类型错误:无法将未定义或空转换为对象” 需要明确的是,imageName和images不是空的或未定义的(因为当I console.log它时,它有我需要的数据)。 提前谢谢!

  • 我编写了两个函数,可以有效地复制JSON.stringify(),将一系列值转换为stringify版本。当我将代码移植到JSBin并在一些示例值上运行它时,它运行得很好。但是我在一个专门为测试这个而设计的规范运行程序中遇到了这个错误。 我的代码: 我从测试人员那里得到的错误消息是: 它似乎失败了:例如stringifyJSON(null)

  • 我对Vue相当陌生,我一直在尝试如何使用Axios调用Java API。 vue.config.js dashboard.vue 然而,无论我如何尝试,它总是给出错误: 在这个错误中,我编辑了dashboard.vue:19的路径,但它来自那里。这行给出了错误:。 API运行在localhost端口8080上,Vue应用程序运行在localhost端口3000上。我不确定是我做错了跨原点还是完全不

  • 我的职能是: 我在这条线上出错了。 我们需要解决它。请帮忙做。

  • 我正在尝试根据表所获得的数据动态呈现表。这一部分是有效的,但是当我实现了数据的过滤版本时,我在行上得到了TypeError Undefined或Null to object错误。 以下是供参考的数据(目前只是一些模拟数据): 它在我添加部分之前工作,我将tableData直接传递到,我不知道为什么。有人能帮我吗?