taro
[5tB:rEu]
n.
芋头
taro
ta.ro
AHD:[tär“½, t²r“½]
D.J.[6t$8ou, 6t#rou]
K.K.[6t$o, 6t#ro]
n.(名词)
【复数】 ta.ros
大家好,我是本泽锅,去年公司选型,选中了Taro作为实现一码多端的框架!既然公司选中了就要开始学习了,正好分享下我在项目中使用的加载更多,并做了一点点封装。首先要说明的是 Taro项目是基于react开发的,使用vue开发的小伙伴不知道有没有参考价值。
要实现加载更多 就要用到 Taro 提供的组件 ScrollView
我们看看其中的一些需要用到的api
scrollY : 允许纵向滚动。
onScrollToLower:滚动到底部,会触发 scrolltolower 事件,这个事件就是加载更多的核心。
style: 其中涉及到 ScrollView 高度的动态计算,注意了这个高度要计算准确。
计算 ScrollView的高度
处理加载更多,首先定义两个值loading:正在加载中,hasMore:是否有加载更多
在生命周期函数componentDidMount 调用this.loadData 发起网络请求,这里将this.loadData和ScrollView提供的滚动到底部,会触发 scrolltolower 事件的api 结合起来。
先全局升级taro到最新版本3.4.8
【1】然后本地init一个项目包,myapp
【2】把之前1.2.26的项目中的src文件夹,替换到myapp中
【3】在myapp中,安装 taroui@3.0.0-alpha.3 版本
【4】删掉全局中,所有的 ,import '@tarojs/async-await'
【5】之前引入taro,component的方式,全局都要替换
import Taro, { Component } from '@tarojs/taro'
替换为以下:
import Taro from '@tarojs/taro'
import React, { Component } from "react"
【6】 安装redux
npm install redux react-redux redux-thunk redux-logger
把app.ts 中, Provider的引入,换成react-redux
import { Provider } from 'react-redux'
全局pages和自定义组件中,connect的引入,换成react-redux
import { connect } from 'react-redux'
【7】引入自定义组件的方式,去掉{}
import { XxxxxXxxx } from '../../component/xxxxxx' 替换为
import XxxxxXxxx from '../../component/xxxxxx'
【8】所有文件中,config的部分,都摘出去,放在同一目录下的config.js文件中
改为后的app.tsx是这样的
import React, { Component } from 'react'
import { Provider } from 'react-redux'
import configStore from './store'
import './app.scss'
const store = configStore()
class App extends Component {
render() {
<Provider store={store} >
{this.props.children}
</Provider>
}
}
export default App
然后运行试试。
ps:我这边运行的时候不报错了,但是微信开发者工具,显示有问题。
参考链接:http://t.zoukankan.com/Nyan-Workflow-FC-p-13529088.html
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)