首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React面试八股文(第一期)

    redux存储全局数据时,会有一个问题,如果用户刷新了网页,那么通过redux存储的全局数据就会被全部清空,比如登录信息等。...Redux 提供了一个叫 store 的统一仓储库,组件通过 dispatch 将 state 直接传入store,不用通过其他的组件。...主要解决的问题: 单纯的Redux只是一个状态机,是没有UI呈现的,react- redux作用是将Redux的状态机和React的UI呈现绑定在一起,当你dispatch action改变state的时候...在Redux中使用 Action的时候, Action文件里尽量保持 Action文件的纯净,传入什么数据就返回什么数据,最妤把请求的数据和 Action方法分离开,以保持 Action的纯净。...受控组件更新state的流程:可以通过初始state中设置表单的默认值每当表单的值发生变化时,调用onChange事件处理器事件处理器通过事件对象e拿到改变后的状态,并更新组件的state一旦通过setState

    3.1K30

    一天梳理React面试高频知识点

    可以使用自定义事件通信(发布订阅模式)可以通过redux等进行全局状态管理如果是兄弟组件通信,可以找到这两个兄弟节点共同的父节点, 结合父子间通信方式进行通信。描述事件在 React中的处理方式。...Redux实现原理解析为什么要用redux在React中,数据在组件中是单向流动的,数据从一个方向父组件流向子组件(通过props),所以,两个非父子组件之间通信就相对麻烦,redux的出现就是为了解决...state里面的数据问题Redux设计理念Redux是将整个应用状态存储到一个地方上称为store,里面保存着一个状态树store tree,组件可以派发(dispatch)行为(action)给store...中保持只读状态state是只读的,唯一改变state的方法就是触发action,action是一个用于描述以发生时间的普通对象数据改变只能通过纯函数来执行使用纯函数来执行修改,为了描述action如何改变...action let dispath = (action) => { //调用管理员reducer得到新的state state = reducer(state, action

    2.8K20

    dva框架-快速了解

    0 1 dva的介绍 官方文档: https://dvajs.com/guide/ 背景: 使用redux-saga需要在action , reducers,saga三个文件中切换,而可以使用dva框架来简化这一个过程.... dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架...0 2 dva的安装 通过 npm 安装 dva-cli 并确保版本是 0.9.1 或以上。...中type的字段 payload: action传参数,都放在这里 call() : 表示调用异步函数 如果yield call的是一个Promise对象,那只有在...select, take, fork, cancel 等 注:yield put直接调用reducer,是堵塞的,同步, 调用非reducer函数,是非堵塞的,异步

    1.8K10

    你要的 React 面试知识点,都在这了

    我想使用 appendAddress 的函数向student对象添加一个地址。 如果使用非纯函数,它没有参数,直接更改 student 对象来更改全局状态。...action 中的 payload 是可选的,action 将其转发给 Reducer。 当reducer收到action时,通过 swithc...case 语法比较 action 中type。...Redux 循环细节 让我们详细看看整个redux 循环细节。 ? Action: Action 只是一个简单的json对象,type 和有payload作为键。...因此,我们必须使用redux-thunk从 action creators 那里进行 API 调用。...redux-thunk是一个中间件。一旦它被引入到项目中,每次派发一个action时,都会通过thunk传递。如果它是一个函数,它只是等待函数处理并返回响应。如果它不是一个函数,它只是正常处理。

    18.5K20

    一文入门react全家桶

    准备 1.下载react-router-dom: npm install --save react-router-dom 2.引入bootstrap.css: redux工作流程 7.2. redux的三个核心概念 7.2.1. action 1.动作的对象 2.包含2个属性 type:标识属性, 值为字符串, 唯一, 必要属性 data:数据属性...1)getState(): 得到state 2)dispatch(action): 分发action, 触发reducer调用, 产生新的state 3)subscribe(listener): 注册监听..., 当产生了新的state时, 自动调用 7.3. redux的核心API 7.3.1. createstore() 作用:创建包含指定reducer的store对象 7.3.2. store对象 1....通过props接收数据(一般数据和函数) 3)不使用任何 Redux 的 API 4)一般保存在components文件夹下 2.容器组件 1)负责管理数据和业务逻辑,不负责UI的呈现 2)使用 Redux

    3.4K20

    字节前端面试被问到的react问题

    这种机制可以让我们改变数据流,实现如异步action ,action 过滤,日志输出,异常报告等功能redux-logger:提供日志输出redux-thunk:处理异步操作redux-promise:...};}redux-thunk库内部源码非常的简单,允许action是一个函数,同时支持参数传递,否则调用方法不变redux创建Store:通过combineReducers函数合并reducer函数,返回一个新的函数...函数中间件的主要目的就是修改dispatch函数,返回经过中间件处理的新的dispatch函数redux使用:实际就是再次调用循环遍历调用reducer函数,更新state什么是 React Context...Dva工作原理集成redux+redux-saga工作原理改变发生通常是通过用户交互行为或者浏览器行为(如路由跳转等)触发的,当此类行为会改变数据的时候可以通过 dispatch 发起一个 action...,更新状态(dispatch(action)); o 支持订阅store的变更(subscribe(listener));异步流∶ 由于Redux所有对store状态的变更,都应该通过action触发

    2.1K20

    react项目架构之路初探

    可以参考我的这篇文章 react-redux 提供一个Provider组件 负责吧外层的数据 传递给所有的子组件 connect方法(高阶组件) 负责将props和dispatch的方法 传递给子组件...redux-saga 通过创建 Sagas 将所有的异步操作逻辑收集在一个地方集中处理,可以用来代替 redux-thunk 中间件。...,thunks 是在action被创建时调用,而 Sagas只会在应用启动时调用 redux-thunk中间件可以让action创建函数先不返回一个action对象,而是返回一个函数,函数传递两个参数...使用的是switch case的结构 针对每一个action的type进行判断 使用reduxsauce之后 我认为 它和vuex判断mutation的type 有很大的相似之处 通过不同的类名来达到区分的目的..., applyMiddleware, compose} from 'redux' import {HashRouter, withRouter} from 'react-router-dom' //

    2.5K10

    前端react面试题指北

    super(props),否则只需要写super() Redux 和 Vuex 有什么区别,它们的共同思想 (1)Redux 和 Vuex区别 Vuex改进了Redux中的Action和Reducer函数...)); o 支持监听action的分发,更新状态(dispatch(action)); o 支持订阅store的变更(subscribe(listener)); 异步流∶ 由于Redux所有对...store状态的变更,都应该通过action触发,异步任务(通常都是业务或获取数据任务)也不例外,而为了不将业务或数据相关的任务混入React组件中,就需要使用其他框架配合管理异步任务流程,如redux-thunk...,redux-saga等; Mobx是一个透明函数响应式编程的状态管理库,它使得状态管理简单可伸缩∶ Action∶定义改变状态的动作函数,包括如何变更状态; Store∶ 集中管理模块状态(State...)和动作(action) Derivation(衍生)∶ 从应用状态中派生而出,且没有任何其他影响的数据 对比总结: redux将数据保存在单一的store中,mobx将数据保存在分散的多个store中

    2.5K30
    领券