Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Taro 3 正式版测试通告 #5460

Closed
yuche opened this issue Feb 14, 2020 · 204 comments
Closed

Taro 3 正式版测试通告 #5460

yuche opened this issue Feb 14, 2020 · 204 comments

Comments

@yuche
Copy link
Contributor

yuche commented Feb 14, 2020

新特性:

  • 同时支持 React/Vue/Nerv 三种框架
  • 不限制语言、语法
  • 更快的运行速度
  • 更快的构建速度
  • source-map 支持

特性详情:
https://juejin.im/post/5e4487b3e51d4527214ba6b1

文档:
https://taro-docs.jd.com/taro/docs/next/README

旧版本迁移指南:
https://taro-docs.jd.com/taro/docs/next/migration

如有问题可以可在 issue 下回复。

Beta 版本

相较于 Alpha 版,Beta 版主要添加了 H5 的支持。把 Taro 相关依赖(包括 babel-preset-taro 等)全部更新到 beta 之后,使用 NPM 安装 H5 端编译系统即可编译:

$ npm i -D @tarojs/webpack-runner@next

和小程序一样,Taro Next 的 H5 端相较于之前版本的 Taro 是一次彻底的重写:基础组件现在全部使用 Web Components 构建,路由系统也完全与前端框架解耦,因此在 H5 端 Taro 也实现了跨框架。但和小程序不同的是,Taro Next H5 端并没有那么长时间的内部测试,还有一些内容需要完善。

Beta 更新详情:
https://gist.github.com/yuche/dcebd9a2a4e95b1c4b60d8eddb5b75e0

@NervJS NervJS deleted a comment from taro-bot bot Feb 14, 2020
@yuche yuche pinned this issue Feb 14, 2020
@yuche yuche changed the title Taro Next 预览版测试通告 Taro Next 预览版(3.0.0-alpha.2)测试通告 Feb 14, 2020
@WangShuXian6
Copy link

WangShuXian6 commented Feb 14, 2020

next 非常不错,项目里只需要加几个依赖,把

import Taro, { useEffect, useLayoutEffect, useReducer, useState, useContext, useRef, useCallback, useMemo, useRouter, useScope, useTabItemTap, useResize, useReachBottom, usePullDownRefresh, useDidHide, useDidShow, usePageScroll } from '@tarojs/taro'

换成

import React, { Component, useEffect, useLayoutEffect, useReducer, useState, useContext, useRef, useCallback, useMemo, } from 'react'
import Taro, { Current, useRouter, useScope, useTabItemTap, useResize, useReachBottom, usePullDownRefresh, useDidHide, useDidShow, usePageScroll } from '@tarojs/taro'

就可以完成迁移,其他代码都不用动,已经用在正式项目上了

1

在支付宝端【测试了淘宝端,其他端未测试】
useScope 的使用会导致报错,页面空白:

useScope()会导致如下报错
useScope

The above error occurred in the <Index> component:
    in Index
    in root
    in Unknown (created by AppWrapper)
    in App (created by AppWrapper)
    in AppWrapper

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.


TypeError: Object(...) is not a function
    at Index (index.js:79)
    at renderWithHooks (vendors.js:5386)
    at mountIndeterminateComponent (vendors.js:5660)
    at beginWork$1 (vendors.js:5962)
    at Object.invokeGuardedCallbackImpl (vendors.js:6192)
    at invokeGuardedCallback (vendors.js:6273)
    at beginWork$$1 (vendors.js:6994)
    at performUnitOfWork (vendors.js:6798)
    at workLoopSync (vendors.js:6794)
    at performSyncWorkOnRoot (vendors.js:6733)
import React, { Component, useEffect, useLayoutEffect, useReducer, useState, useContext, useRef, useCallback, useMemo, } from 'react'
import Taro, { Current, useRouter, useScope, useTabItemTap, useResize, useReachBottom, usePullDownRefresh, useDidHide, useDidShow, usePageScroll } from '@tarojs/taro'
// import { useSelector }  from 'react-redux'
import { View, Image, Text, ScrollView } from '@tarojs/components'
import './index.less'


// type Definition
type OwnProps = {

};

export default function Index({ }: OwnProps) {
    const scope = useScope() // 等同于页面为类时的 this.$scope
    return (
        <ScrollView
            className='index__scrollview'
            scrollWithAnimation
        >

        </ScrollView>
    );
}

@WangShuXian6
Copy link

2

Current 模块可以正常引入和使用,但是开发工具会提示该模块没有被导出

提示如下

模块“"../../../../../../../Users/myAppnext/node_modules/_@tarojs_taro@3.0.0-alpha.2@@tarojs/taro/types"”没有导出的成员“Current”。ts(2305)

代码如下

import Taro, { Current } from '@tarojs/taro'

@yuche
Copy link
Contributor Author

yuche commented Feb 14, 2020

@WangShuXian6 目前 Typing 还没有跟上

@wittech
Copy link

wittech commented Feb 14, 2020

引入taro-ui组件报错:
./node_modules/taro-ui/dist/weapp/index.js
Module not found: Can't resolve './style/index.scss' in '/Users/xxx/Downloads/my-taro/taro-form/node_modules/taro-ui/dist/weapp'

@yuche
Copy link
Contributor Author

yuche commented Feb 14, 2020

@wittech Taro UI 还没有发适配 Next 的版本

@yuche
Copy link
Contributor Author

yuche commented Feb 14, 2020

@WangShuXian6 d46dced

@wittech
Copy link

wittech commented Feb 15, 2020

@yuche 请问预计什么时间发布适配版本呢?

@ariesjia
Copy link
Contributor

@tarojs/taro-weapp
@tarojs/taro-tt
@tarojs/webpack-runner
@tarojs/taro-alipay

都没有3.0.0-alpha.2版呢

@yuche
Copy link
Contributor Author

yuche commented Feb 15, 2020

@ariesjia 这几个包不需要了

@yuche
Copy link
Contributor Author

yuche commented Feb 15, 2020

@wittech 这个你可以去 Taro UI 提 issue 问一下

@ariesjia
Copy link
Contributor

ariesjia commented Feb 15, 2020

@ariesjia 这几个包不需要了

谢谢,用next的cli init的的脚手架里面有这个几个包的依赖。

@yuche
Copy link
Contributor Author

yuche commented Feb 15, 2020

@ariesjia 哪个模板有

@ariesjia
Copy link
Contributor

@yuche 刚才测试的是cloud

@HareInWeed
Copy link

v3.0.0-alpha.3 的默认模板在 windows 下无法正常编译,似乎是由于对 windows 下的路径处理不正常,会将 \ 处理为字符转义

yarn run v1.19.1
$ npm run build:weapp -- --watch

> taro-react-hook-form@1.0.0 build:weapp D:\TEMP_WORKSPACE\taro-react-hook-form
> npx taro build --type weapp "--watch"

�👽 Taro v3.0.0-alpha

开始编译项目 taro-react-hook-form
生成  工具配置  dist/project.config.json

\ 正在编译...[BABEL] Note: The code generator has deoptimised the styling of D:\TEMP_WORKSPACE\taro-react-hook-form\node_modules\react-reconciler\cjs\react-reconciler.development.js as it exceeds the max of 500KB.
�🙅  编译失败败.

./src/app.tsx
Module not found: Can't resolve 'D:TEMP_WORKSPACE       aro-react-hook-formsrcapp.tsx' in 'D:\TEMP_WORKSPACE\taro-react-hook-form\src'


监听文件修改中...

@yuche
Copy link
Contributor Author

yuche commented Feb 18, 2020

@WangShuXian6 useScope 加了

@yuche
Copy link
Contributor Author

yuche commented Feb 18, 2020

@HareInWeed 你把 @tarojs/mini-runner 升级一下,确认 @tarojs/taro-loader 也是 alpha-3

@shenghanqin
Copy link
Collaborator

@yuche 嘻嘻,我提的 #5475 canvas问题,有空帮我看一下呗。我现在就剩下这个问题就可以把小程序给发布了,虽然我自己改npm包也可以,但还是寻思你那边改一下。感谢。

@yuche
Copy link
Contributor Author

yuche commented Feb 18, 2020

今晚会发 alpha.4 带上这个 issue 的修复 @shenghanqin

@blade254353074
Copy link
Contributor

taro 3 默认不需要 .eslintrc 文件了吗?

@yuche
Copy link
Contributor Author

yuche commented Feb 18, 2020

taro 3 默认不需要 .eslintrc 文件了吗?

有的,现在改成了 .eslintrc.js

@blade254353074
Copy link
Contributor

@yuche 我刚刚用 taro next 的 cli 创建了个 ts 项目,根目录没有 .eslintrc.js 所以就问了下

@blade254353074
Copy link
Contributor

3-alpha3
在手动解决 taro-ui 的 scss 路径后可以编译成功,
但 taro-ui 会报如下错误:

image
image
image

@yuche
Copy link
Contributor Author

yuche commented Feb 18, 2020

3-alpha3
在手动解决 taro-ui 的 scss 路径后可以编译成功,
但 taro-ui 会报如下错误:

image
image
image

Taro UI 目前没有发布适配 Next 的版本,如果你实在想用,可以去 Taro UI 的 next 分支 src 目录复制一份代码到你的项目里,但这样的话你每次编译自己的项目的同时也要编译 Taro UI,会比较慢。

@yuche yuche changed the title Taro Next 预览版(3.0.0-alpha.2)测试通告 Taro Next 预览版(3.0.0-alpha.4)测试通告 Feb 19, 2020
@Psli
Copy link
Contributor

Psli commented Feb 19, 2020

自定义 tabbar 的问题有解决的方法吗?

@baixiaosh
Copy link

@Chen-jj 不好意思,已经找到问题了

@ziruozimi
Copy link
Contributor

transitionend没有处理

@Chen-jj
Copy link
Contributor

Chen-jj commented Jun 4, 2020

@ziruozimi 新开一个 issue 吧,把问题说清楚。

@cpocar
Copy link

cpocar commented Jun 16, 2020

app.tsx 中这种写法

class App extends React.Component {
    render() {
        return <View className='app_wrapper'>{this.props.children}</View>
    }
}

为啥这个class为 app_wrapper 的View都不渲染呢?@yuche

@cpocar
Copy link

cpocar commented Jun 16, 2020

rc.4 版本。 微信小程序环境

@luckyadam luckyadam changed the title Taro Next 测试版(3.0.0-beta.1)测试通告 Taro Next 测试版(3.0.0-rc.4)测试通告 Jun 16, 2020
@languis
Copy link

languis commented Jun 17, 2020

虚拟列表 不支持动态高度吗?

@shjyh
Copy link
Contributor

shjyh commented Jun 17, 2020

感觉小程序生成的base.wxml有点大,刚迁移没几个页面,已经到550多K了,
生成了15份tmpl_*_component模板,这个是根据页面最多使用组件数生成的么?

批注 2020-06-17 170658

@cpocar
Copy link

cpocar commented Jun 18, 2020

rc.5 版本中发现View组件的hidden属性无效了哦

@admiao
Copy link

admiao commented Jun 19, 2020

希望支持svg

感觉小程序生成的base.wxml有点大,刚迁移没几个页面,已经到550多K了,
生成了15份tmpl_*_component模板,这个是根据页面最多使用组件数生成的么?

批注 2020-06-17 170658

我只是写了几个组件就过了500K了

@songkeys
Copy link
Contributor

体积真的太大了,我只写了三个组件和一个页面,预览模式下就超了 2 M。

这是 dev 下的:
image

这是 prod 下的:
image

相关:#6479

@puxiao
Copy link

puxiao commented Jun 29, 2020

官方文档中有 useReady 的介绍:https://nervjs.github.io/taro/docs/next/hooks/#useready
但是使用的时候:
import { useReady } from '@tarojs/taro';
提示:模块“"../../../node_modules/@tarojs/taro/types"”没有导出的成员“useReady”。

@Chen-jj Chen-jj changed the title Taro Next 测试版(3.0.0-rc.4)测试通告 Taro 3 正式版测试通告 Jul 3, 2020
@saplf
Copy link

saplf commented Jul 10, 2020

给我报错plugins.0 "plugins[0]" must be one of [string, array]
怎么处理的呢

@potatoes0521 目前 v3.0.2,没遇到问题。是不是配置的位置写错了?或者看一下根目录的 babel.config.js plugins 配置对不对。我能想到的就这两个原因了。

@Chen-jj Chen-jj unpinned this issue Jul 10, 2020
@Hxmic
Copy link

Hxmic commented Jul 23, 2020

image

缺少 app 全局配置,请检查! 各位打了这个如何解决。

@han88829
Copy link

image

缺少 app 全局配置,请检查! 各位打了这个如何解决。

src下新建app.config.js

@hongxinfeiyang
Copy link

使用 taro 3.5 开发百度只能小程序,出现‘计时器组件’更新自身数据时,导致这个页面重新渲染问题;计时器每秒执行一次,页面就会自动创建一个 页面根元素,及其所有子元素;
image

@SunflowerGJ
Copy link

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

@Chen-jj
Copy link
Contributor

Chen-jj commented Nov 13, 2020

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

不要用 hidden 属性,用 React、Vue 的语法去控制显隐

@IrisGitHub
Copy link

IrisGitHub commented Nov 26, 2020

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

不要用 hidden 属性,用 React、Vue 的语法去控制显隐

从小程序源码转码过来的项目,之前是taro1(v1.3.21),现在在做升级taro3(v3.0.17,react)发现hidden不支持了,一个一个修改比较麻烦,有无可能 提供babel插件转一下hidden语法再webpack打包?或者在babel-preset-taro做一下支持呀? 另外taro3转小程序源码后的代码也包含hidden。

@songhanlin
Copy link

songhanlin commented Dec 24, 2020

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

不要用 hidden 属性,用 React、Vue 的语法去控制显隐

你说的用语法控制显示隐藏是什么意思? 是类似 flag ? <View1> : <View2/>, 这样的吗?这个样子会导致微信小程序的内存占用过高, 而导致闪退.

@songhanlin
Copy link

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

不要用 hidden 属性,用 React、Vue 的语法去控制显隐

从小程序源码转码过来的项目,之前是taro1(v1.3.21),现在在做升级taro3(v3.0.17,react)发现hidden不支持了,一个一个修改比较麻烦,有无可能 提供babel插件转一下hidden语法再webpack打包?或者在babel-preset-taro做一下支持呀? 另外taro3转小程序源码后的代码也包含hidden。

你好, 你的问题解决了吗?

@tiger-with-wings
Copy link

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

不要用 hidden 属性,用 React、Vue 的语法去控制显隐

从小程序源码转码过来的项目,之前是taro1(v1.3.21),现在在做升级taro3(v3.0.17,react)发现hidden不支持了,一个一个修改比较麻烦,有无可能 提供babel插件转一下hidden语法再webpack打包?或者在babel-preset-taro做一下支持呀? 另外taro3转小程序源码后的代码也包含hidden。

你好, 你的问题解决了吗?

我也想知道这个问题该怎么优雅的解决,不会要挨个手动 display: none 吧!

@Chen-jj
Copy link
Contributor

Chen-jj commented Jan 15, 2021

rc.5 版本中发现View组件的hidden属性无效了哦

我这边也是,你是怎么解决的呢

不要用 hidden 属性,用 React、Vue 的语法去控制显隐

从小程序源码转码过来的项目,之前是taro1(v1.3.21),现在在做升级taro3(v3.0.17,react)发现hidden不支持了,一个一个修改比较麻烦,有无可能 提供babel插件转一下hidden语法再webpack打包?或者在babel-preset-taro做一下支持呀? 另外taro3转小程序源码后的代码也包含hidden。

你好, 你的问题解决了吗?

我也想知道这个问题该怎么优雅的解决,不会要挨个手动 display: none 吧!

  1. Taro 项目<View> 组件不支持 hidden 属性,使用 React、Vue 的条件渲染或样式去处理。
  2. 原生微信小程序转换为 Taro 项目,反向转换原生小程序的 hidden 属性的功能,在 3.1 已经支持。

@lp13762436965
Copy link

lp13762436965 commented Apr 9, 2021

我想问下 , 为啥Taro3.x引用 2.x Taro开发的自定义npm包组件, 会报错啊,2.x引用就不会报错哦
image
@Chen-jj 能麻烦看看吗,需要怎么改呢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests