手把手教学,带你升级vue3(1),阿里P8手把手教你

59 阅读3分钟

React

  • 介绍一下react

  • React单项数据流

  • react生命周期函数和react组件的生命周期

  • react和Vue的原理,区别,亮点,作用

  • reactJs的组件交流

  • 有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢

  • 项目里用到了react,为什么要选择react,react有哪些好处

  • 怎么获取真正的dom

  • 选择react的原因

  • react的生命周期函数

  • setState之后的流程

  • react高阶组件知道吗?

  • React的jsx,函数式编程

  • react的组件是通过什么去判断是否刷新的

  • 如何配置React-Router

  • 路由的动态加载模块

  • Redux中间件是什么东西,接受几个参数

  • redux请求中间件如何处理并发

开源分享:docs.qq.com/doc/DSmRnRG…

// 抛出路由实例, 在 main.js 中引用

export default router

写法区别

// Vue-Router 3.x

const router = new VueRouter({

mode: 'history',

base: process.env.BASE_URL,

routes: [

// 路由配置不变

]

})

// Vue-Router 4.0

const router = createRouter({

history: createWebHashHistory(),

routes: [

]

})

还要就是进行跳转时,不过4.0一样支持3.x的写法

// Vue-Router 3.x

export default {

methods: {

goToHome() {

this.$router.push('Home')

}

}

}

// Vue-Router 4.0

import { useRouter } from 'vue-router'

export default {

setup() {

const router = useRouter()

const goToHome = () => router.push('Home')

return { goToHome }

}

}

添加vuex4.0


yarn add vuex@next

和 vue2 一样,我们同样要在 src 目录下新建 store文件夹,添加 index.js 文件

import { createStore } from ‘vuex’;

import getters from ‘./getters’

import mutations from ‘./mutations’

import actions from ‘./actions’

import state from ‘./state’

export default createStore({

state,

getters,

mutations,

actions

});

添加 Vant UI 3.0 组件库


yarn add vant@next -S

添加之后,我们再添加按需引入的插件(推荐使用按需引入,减少代码提及):

yarn add babel-plugin-import -D

在项目根目录添加 babel.config.js 如下所示:

module.exports = {

plugins: [

['import', {

libraryName: 'vant',

libraryDirectory: 'es',

style: true

}, 'vant']

] }

然后要在main.js中引入

import { createApp } from 'vue'

import App from './App.vue'

import router from './router'

import store from './store'

import './common.css' //全局样式

import { Button ,Picker} from 'vant';

const app = createApp(App) // 创建实例

//在实例的原型链上绑定Notify

app.config.globalProperties.Notify = function (message:any) {

return Notify({

type: 'success',

message: message,

background: '#32CA73',

duration: 1000

})

}

app.use(Button).use(Picker) // 注册组件

app.use(router).use(store)

app.mount('#app')

但是最后发现了,vant不生效,最终检查了之后,发现在vue.config.js中requireModuleExtension 设置为false 了,关掉它会导致vant样式不生效,最后再把它开启就好了 requireModuleExtension: true 好了最基础的vue3项目已经创建完毕,可以开始使用了

ES6

  • 列举常用的ES6特性:

  • 箭头函数需要注意哪些地方?

  • let、const、var

  • 拓展:var方式定义的变量有什么样的bug?

  • Set数据结构

  • 拓展:数组去重的方法

  • 箭头函数this的指向。

  • 手写ES6 class继承。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

微信小程序

  • 简单描述一下微信小程序的相关文件类型?

  • 你是怎么封装微信小程序的数据请求?

  • 有哪些参数传值的方法?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?