NervJS / taro

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/
https://docs.taro.zone/
Other
35.52k stars 4.79k forks source link

通过object类型传入的styles,无法删除某个属性 #8246

Closed rookie125 closed 3 years ago

rookie125 commented 3 years ago

相关平台

H5

浏览器版本: chrome 87 使用框架: React

复现步骤

打开链接 https://codesandbox.io/s/vigorous-voice-e9ofy?file=/src/App.js 点击页面的 "设置/新增 border" 按钮

期望结果

styles整个对象被更新

实际结果

跟styles对象做了个merge操作

环境信息

Taro CLI 2.2.6 environment info:
    System:
      OS: macOS 10.14.6
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 10.16.3 - /usr/local/bin/node
      Yarn: 1.17.3 - /usr/local/bin/yarn
      npm: 6.9.0 - /usr/local/bin/npm
    npmPackages:
      @tarojs/components: 2.2.6 => 2.2.6 
      @tarojs/components-qa: 2.2.6 => 2.2.6 
      @tarojs/mini-runner: 2.2.6 => 2.2.6 
      @tarojs/mobx: 2.2.6 => 2.2.6 
      @tarojs/mobx-h5: 2.2.6 => 2.2.6 
      @tarojs/router: 2.2.6 => 2.2.6 
      @tarojs/taro: 2.2.6 => 2.2.6 
      @tarojs/taro-alipay: 2.2.6 => 2.2.6 
      @tarojs/taro-h5: 2.2.6 => 2.2.6 
      @tarojs/taro-weapp: 2.2.6 => 2.2.6 
      @tarojs/webpack-runner: 2.2.6 => 2.2.6 
      eslint-config-taro: 2.2.6 => 2.2.6 
      eslint-plugin-taro: 2.2.6 => 2.2.6 
      nerv-devtools: ^1.5.6 => 1.5.7 
      nervjs: ^1.5.6 => 1.5.7

补充信息

问题出在这个NervJS/taro/blob/next/packages/taro-components/h5/react/utils/reactify-wc.js文件的第 59 行代码

iamxyzby commented 3 years ago

相同的问题。

Chen-jj commented 3 years ago

Taro 3.2.6 已修复,此 PR 帮助优化了 props 的 diff 逻辑~