Taro: 当一个元素后面添加一个同级元素(由map动态生成),会报dom of undefined

Created on 16 Oct 2019  ·  12Comments  ·  Source: NervJS/taro

问题描述
[问题描述:站在其它人的角度尽可能清晰地、简洁地把问题描述清楚]

      <View>
        <Text>第一</Text>
        {list.map((item, index) => {
          return <View key={index}>{item.title}</View>;
        })}
      </View>

这种情况下会报 Cannot read property 'dom' of undefined
复现步骤
在线例子

期望行为
正常显示出map循环出来的元素

报错信息

Uncaught (in promise) TypeError: Cannot read property 'dom' of undefined
at patchNonKeyedChildren (index.js:1078)
at patchArrayChildren (index.js:1047)
at patchChildren (index.js:1059)
at patch (index.js:986)
at updateComponent (index.js:1959)
at reRenderComponent (index.js:1904)
at ComponentWrapper.update (index.js:2252)
at patch (index.js:992)
at updateComponent (index.js:1959)
at rerender (index.js:2046)

系统信息

Taro v1.2 及以上版本已添加 taro info 命令,方便大家查看系统及依赖信息,运行该命令后将结果贴下面即可。
Taro v1.3.20
Taro CLI 1.3.20 environment info:
System:
OS: Windows 10
Binaries:
Node: 10.16.0 - D:\Program Files\nodejs\node.EXE
Yarn: 1.13.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.9.0 - D:\Program Files\nodejs\npm.CMD

补充信息

Most helpful comment

All 12 comments

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

先把 nervjs 降级到 1.4.6

我出现同样的问题,但不是同级的元素,View包裹了map遍历出来的组件们,但View有一个同级的元素,报同样的错。
我通过给父元素View添加一个key值来解决了这个问题。

image
image
依然报错啊

^1.4.6 的意思是任何与 1.4.6 兼容的版本,它可以是 1.4.7 之类的
^version “Compatible with version” See semver

改成 1.4.6 强制该版本号

image

好 谢谢

image

也碰到这个问题,降到1.4.6是可以了。
那这个问题是打算放在哪个版本里修复呢?

CC @yuche

@beautycss 需要等 Nerv 修复

我出现同样的问题,但不是同级的元素,View包裹了map遍历出来的组件们,但View有一个同级的元素,报同样的错。
我通过给父元素View添加一个key值来解决了这个问题。

亲测有效,感谢

Was this page helpful?
0 / 5 - 0 ratings