实战经验
# 实战经验
# 1. 微信开发者工具警告: [sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将不被索引
- sitemap 的索引提示是默认开启的,如需要关闭 sitemap 的索引提示,可在小程序项目配置文件 project.config.json 的 setting 中配置字段 checkSiteMap为 false
# 2. 路由跳转问题
- 路由跳转的路径必须是以
/
开头的, 例如: '/page/index/index' - 使用Taro.switchTab, 进行跳转的时候,在 app.config.js配置文件中的tabBar对象的list数组必须有声明
# 3.安装taro-ui问题
- 最新的tarox引用 taro-ui的话,得安装
npm install taro-ui@3.0.0-alpha.3
版本才可以
# taro3.x版本的hook引入问题
import React, { Component, useEffect, useLayoutEffect, useReducer, useState, useContext, useRef, useCallback, useMemo, } from 'react'
import Taro, { Current, useRouter, useScope, useTabItemTap, useResize, useReachBottom, usePullDownRefresh, useDidHide, useDidShow, useRouter, usePageScroll } from '@tarojs/taro'
// redux
import store from '@/store' // 用于派发 action
import { useSelector } from 'react-redux' // 获取 store 中的 state 值
1
2
3
4
5
2
3
4
5
# taro3.x react自定义组件传参,和传样式问题
封装一个组件例子:
import React from 'react'
import Taro from '@tarojs/taro'
import { View } from '@tarojs/components'
const demoBtn = (props) => {
console.log('props', props);
return (
<View
className={props.myClass}
>
{ props.children }
</View>
)
}
export default demoBtn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
下面代码调用上面组件
<demoBtn myClass="btn">
<View className="btn" onClick={() => { console.log('点击了') }}>
点击
</View>
</demoBtn>
1
2
3
4
5
2
3
4
5
以上的不管直接在组件上写属性,还是在标签里面写内容,都是通过props可以获取到了,你们打印下就知道了
这个是taro3.x版本的,网上搜很多不知道是不是2.x版本,很多都介绍externalClasses来提供父级传入样式, 吐槽taro,改版写法都改变,文档也得也不够清晰,例子都不够完整。改版就改版,都不向下兼容,很多写法都不一样,网上一大推都是2.x版本的写法,导致每次查找看文章别人写法,拿来写就是不行,吐血
# taro react hooks 没有onLoad对应的生命周期
想要获取页面传参,或者是二维码识别带来的参数,通过 const useRouter = useRouter()
获取参数。
编辑 (opens new window)