NervJS / taro-ui

一款基于 Taro 框架开发的多端 UI 组件库
https://taro-ui.taro.zone
MIT License
4.55k stars 753 forks source link

在Tabs标签页中使用高阶组件,高阶组件中的Children无法正常工作 #665

Open A0150315 opened 5 years ago

A0150315 commented 5 years ago

问题描述 在Tabs标签页中使用高阶组件,若HOC的props.children为三元运算符时(如下图所示),其中的onClick是无法触发的。

复现步骤

  1. 新建一个普通组件;
  2. 从 taro-ui 引入 AtTabs、AtTabsPane ;
  3. 新建一个 HOC ,该 HOC 可展示 props.children ;
  4. 页面结构如下:
    <AtTabs> // 外层Tab
    <AtTabsPane> // 内层Tab
    <View>
      {[1].length > 0
        ? [1].map(() => (
            <HOC name="11" key="1">
              <View>
                <Button
                  onClick={() => {
                    // not work
                    console.log(1);
                  }}
                >
                  1
                </Button>
              </View>
            </HOC>
          ))
        : 2}
    </View>
    </AtTabsPane>
    </AtTabs>
  5. 点击 Button ,控制台没有输出

期望行为 控制台输出1

报错信息

系统信息 Taro CLI 1.2.26 environment info: System: OS: Windows 10 Binaries: Node: 10.15.1 - C:\Program Files\nodejs\node.EXE Yarn: 1.13.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD

补充信息

jimczj commented 5 years ago

这跟 Tabs 组件应该没有什么关系,你自定义个组件,试试看会不会