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

    2022社招react面试题 附答案

    createElement需要传递三个参数 参数一:type 当前ReactElement的类型; 如果是标签元素,那么就使用字符串表示 “div”; 如果是组件元素,那么就直接使用组件的名称; 参数二...、Portals、字符串和数字、 Boolean和null等内容; componentDidMount:组件装载之后调⽤,此时我们可以获取到DOM节点并操作,⽐如对canvas,svg的操作,服务器请求...6、受控组件和非受控组件区别是啥? 受控组件是React控制中的组件,并且是表单数据真实的唯一来源。 非受控组件是由DOM处理表单数据的地方,而不是在 React 组件中。...两者对⽐: redux将数据保存在单⼀的store中,mobx将数据保存在分散的多个store中 redux使⽤plain object保存数据,需要⼿动处理变化后的操作;mobx适⽤observable...当然mobx和redux也并不⼀定是⾮此即彼的关系,你也可以在项⽬中⽤redux作为全局状态管理,⽤mobx作为组件局部状态管理器来⽤。 10、redux异步中间件之间的优劣?

    2.1K10

    Vite + React + Typescript 构建实战

    mobx 的时候,版本已经是 mobx@6.x,发现这里相比于旧版本,API 的使用上有了一些差异,特地在这里分享下踩坑经历 Store 划分 store 的划分,主要参考本文的示例 需要注意的是,在...注入 mobx@6x的数据注入,采用的 react 的 context 特性;主要分成以下三个步骤 根节点变更 通过 Provider 组件,注入全局 store // 入口文件 app.tsximport...或者指定 store 名称数据 * @param storeName 指定子 store 名称 * @returns typeof StoreType[storeName] */function useStores...stores[storeName] : stores}export { useStores } 组件引用通过自定义组件引用 store import React from 'react'import {...code demo↑ 以上就是整个 mobx+typescript 在函数式组件中的实际应用场景了;如果有什么问题,欢迎评论交流 :) 参考资料 React Hook useContext (https

    1.7K30

    关于如何在 Mobx 中组织 Stores

    Stores(存储) Store 可以在任何 Flux 系架构中找到,可以与 MVC 模式中的控制器进行比较。...Store 的主要职责是将逻辑和状态从组件中移至一个独立的,可测试的单元,这个单元在 JavaScript 前端和后端中都可以使用。...,Store 不会非常庞大 各个 Store 相对独立 不同页面需要共享的数据存入 RootStore 在进入页面,会对 Store 初始化 缺点: 组件侵入性,需要改变 React 组件原本的结构,例如所有需要响应数据变动的组件都需要使用...,Store 不会非常庞大 各个 Store 相对独立 那个页面需要那个 Store,引入即可 不刷新游览器,页面状态一直保持着 缺点: 组件侵入性,需要改变 React 组件原本的结构,例如所有需要响应数据变动的组件都需要使用...observer 装饰,组件本地状态也需要 observable 装饰,以及数据操作方式等等,对 Mobx 耦合较深, 日后切换框架或重构的成本很高 无数据快照,如果要重置 Store,那么得写reset

    93400

    react 的数据管理方案:redux 还是 mobx?

    的数据管理能力应用到 react 中: React Component 对数据源字段进行精确响应更新。...但是,这里分别用redux方案 和 mobx方案 实现上面的功能。 为了演示方便,将所有的代码都放在一个文件中。查看 mobx 实现的代码前,先了解下装饰器(decorator)是什么。...、父组件状态同步的问题 可以做到让组件无状态化 使用 Provider 注入,让 store actions 可以在子组件中,通过 props 访问使用 下面是一些不同点: mobx 使用的是 @inject...component 关系, redux 使用 connect 参数手动控制传递哪些字段 mobx 直接修改 store 的状态,但是必须在 @action 修饰的函数中完成,@action 的语义,表示这是一个修改状态的操作...mobx 在大项目中的扩展能力 redux 方案,本质上还是通过添加更多的 switch 语句来实现扩展,将 store 分支节点的 reducer 分散到不同的文件,再通过工具函数combineReducers

    2.1K11

    【MobX】MobX 简单入门教程

    官网介绍: React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染。而MobX提供机制来存储和更新应用状态供 React 使用。...,实现点击按钮,数值累加的简单操作,如图: [2019102301.png] 在这个案例中,我们引用 mobx-react 库来实现,很明显可以看出 mobx-react 是作为 mobx 和 react...它将 react 组件转化为对可观察数据的反应,也就是将组件的 render 方法包装成 autorun 方法,使得状态变化时能自动重新渲染。...首先安装 mobx-react 依赖: cnpm i mobx-react -D 修改webpack.config.js,在 presets 配置中添加 react 进来: // ......事实上,我们只需要记住 observer 方法,将所有 React 组件用 observer 修饰,就是 react-mobx 的用法。 4.

    1.5K00

    【MobX】391- MobX 入门教程(下)

    三、MobX 常用 API 介绍 3. 修改可观察数据 在上一部分内容中,我们了解到,对可观察的数据做出反应的时候,需要我们手动修改可观察数据的值。...2019102301.png 在这个案例中,我们引用 mobx-react 库来实现,很明显可以看出 mobx-react 是作为 mobx 和 react 之前的桥梁。...它将 react 组件转化为对可观察数据的反应,也就是将组件的 render 方法包装成 autorun 方法,使得状态变化时能自动重新渲染。...首先安装 mobx-react 依赖: cnpm i mobx-react -D 修改webpack.config.js,在 presets 配置中添加 react 进来: // ......事实上,我们只需要记住 observer 方法,将所有 React 组件用 observer 修饰,就是 react-mobx 的用法。 4.

    89820

    react 的数据管理方案:redux 还是 mobx?

    的数据管理能力应用到 react 中: React Component 对数据源字段进行精确响应更新。...但是,这里分别用redux方案 和 mobx方案 实现上面的功能。 为了演示方便,将所有的代码都放在一个文件中。查看 mobx 实现的代码前,先了解下装饰器(decorator)是什么。...、父组件状态同步的问题 可以做到让组件无状态化 使用 Provider 注入,让 store actions 可以在子组件中,通过 props 访问使用 下面是一些不同点: mobx 使用的是 @inject...component 关系, redux 使用 connect 参数手动控制传递哪些字段 mobx 直接修改 store 的状态,但是必须在 @action 修饰的函数中完成,@action 的语义,表示这是一个修改状态的操作...mobx 在大项目中的扩展能力 redux 方案,本质上还是通过添加更多的 switch 语句来实现扩展,将 store 分支节点的 reducer 分散到不同的文件,再通过工具函数combineReducers

    2K70

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

    当 ref 属性被用于一个自定义的类组件时,ref 对象将接收该组件已挂载的实例作为他的 current。当在父组件中需要访问子组件中的 ref 时可使用传递 Refs 或回调 Refs。...区别:对于事件名称命名方式,原生事件为全小写,react 事件采用小驼峰;对于事件函数处理语法,原生事件为字符串,react 事件为函数;react 事件不能采用 return false 的方式来阻止浏览器的默认行为...);支持将store与React组件连接,如react-redux,mobx- react;(2)区别 Redux更多的是遵循Flux模式的一种实现,是一个 JavaScript库,它关注点主要是以下几方面...也不例外,而为了不将业务或数据相关的任务混入React组件中,就需要使用其他框架配合管理异步任务流程,如redux-thunk,redux-saga等;Mobx是一个透明函数响应式编程的状态管理库,它使得状态管理简单可伸缩...:redux将数据保存在单一的store中,mobx将数据保存在分散的多个store中redux使用plain object保存数据,需要手动处理变化后的操作;mobx适用observable保存数据,

    2.1K20

    React+Mobx写法更像Vue了

    observable可以用来观测一个数据,这个数据可以数字、字符串、数组、对象等类型(相关知识点具体会在后文中详述),而当观测到的数据发生变化的时候,如果变化的值处在autorun中,那么autorun...action,runInAction和严格模式(useStrict) mobx推荐将修改被观测变量的行为放在action中。...之后我们实例化一个对象,叫做newState,之后在我的React组件中,我只需要用@observer修饰一下组件类,便可以愉悦地使用这个newState对象中的值和函数了。...我们可以借助React15版本的新特性context来完成。它可以将父组件中的值传递到任意层级深度的子组件中。...React组件中可以直接添加@observable修饰的变量 @observer class MyComponent extends React.Component { state = { a

    1.7K20

    Mobx与Redux的异同

    如今前端通常是要用组件components来构建一个应用,而组件中通常有自己的内部状态即state,但是随着应用越来越膨胀,组件自己内部维护的状态在膨胀的应用中很快会变得混乱。...像Redux和Mobx这类状态管理库一般都有附带的工具,例如在React中使用的有react-redux和mobx-react,他们使你的组件能够获得状态,一般情况下,这些组件被叫做容器组件container...Mobx的组件可以做到精准更新,将状态包装成可观察对象,一旦状态对象变更,就能自动获得更新。...store管理方式 在Redux应用中通常将整个应用的state被储存在一棵object tree中,并且这个object tree只存在于唯一一个store中。...在Mobx则通常按模块将应用状态划分,在多个独立的store中管理。 储存数据形式 Redux默认以JavaScript原生对象形式存储数据,这也就使得Redux需要手动追踪所有状态对象的变更。

    94120

    如何进行react状态管理方案选择

    ps:这里谈到的状态管理是指全局状态管理,局部的使用useState即可 状态管理方式目前比较常用的状态管理方式有hooks、redux、mobx三种,下面我将详细介绍一下这三类的使用方法以及分析各自的优缺点...inject('store1')(observer(Name))优缺点分析:优点:组件会自动订阅store中具体的某个属性,无需手动订阅噢!...一个store即写state,也写action,这种方式便于理解组件会自动订阅store中具体的某个属性,只要当属性变化时,组件才会rerender,渲染效率较高成功避免了上一种使用方式的缺点,不用对使用的...组件更新用组件更新来简单阐述总结一下:mobx的执行原理。observer这个装饰器(也可以是Hoc),对React组件的render方法进行track。...将render方法,加入到各个observable的依赖中。当observable发生变化,track方法就会执行。

    3.4K30

    前端一面必会react面试题(附答案)

    ps:这里谈到的状态管理是指全局状态管理,局部的使用useState即可 状态管理方式目前比较常用的状态管理方式有hooks、redux、mobx三种,下面我将详细介绍一下这三类的使用方法以及分析各自的优缺点...inject('store1')(observer(Name))优缺点分析:优点:组件会自动订阅store中具体的某个属性,无需手动订阅噢!...一个store即写state,也写action,这种方式便于理解组件会自动订阅store中具体的某个属性,只要当属性变化时,组件才会rerender,渲染效率较高成功避免了上一种使用方式的缺点,不用对使用的...组件更新用组件更新来简单阐述总结一下:mobx的执行原理。observer这个装饰器(也可以是Hoc),对React组件的render方法进行track。...将render方法,加入到各个observable的依赖中。当observable发生变化,track方法就会执行。

    2.6K20

    问:你是如何进行react状态管理方案选择的?

    ps:这里谈到的状态管理是指全局状态管理,局部的使用useState即可 状态管理方式目前比较常用的状态管理方式有hooks、redux、mobx三种,下面我将详细介绍一下这三类的使用方法以及分析各自的优缺点...inject('store1')(observer(Name))优缺点分析:优点:组件会自动订阅store中具体的某个属性,无需手动订阅噢!...一个store即写state,也写action,这种方式便于理解组件会自动订阅store中具体的某个属性,只要当属性变化时,组件才会rerender,渲染效率较高成功避免了上一种使用方式的缺点,不用对使用的...组件更新用组件更新来简单阐述总结一下:mobx的执行原理。observer这个装饰器(也可以是Hoc),对React组件的render方法进行track。...将render方法,加入到各个observable的依赖中。当observable发生变化,track方法就会执行。

    3.6K00

    问:你是如何进行react状态管理方案选择的?_2023-03-13

    ps:这里谈到的状态管理是指全局状态管理,局部的使用useState即可 状态管理方式目前比较常用的状态管理方式有hooks、redux、mobx三种,下面我将详细介绍一下这三类的使用方法以及分析各自的优缺点...inject('store1')(observer(Name))优缺点分析:优点:组件会自动订阅store中具体的某个属性,无需手动订阅噢!...一个store即写state,也写action,这种方式便于理解组件会自动订阅store中具体的某个属性,只要当属性变化时,组件才会rerender,渲染效率较高成功避免了上一种使用方式的缺点,不用对使用的...组件更新用组件更新来简单阐述总结一下:mobx的执行原理。observer这个装饰器(也可以是Hoc),对React组件的render方法进行track。...将render方法,加入到各个observable的依赖中。当observable发生变化,track方法就会执行。

    2.4K30

    MobX 在 React Native开发中的应用

    MobX 是一款精准的状态管理工具库,如果你在 React 和 React Native 应用中使用过 Flux、Alt、Redux 和 Reflux,那毫不犹豫地说,MobX 的简单性将成为你状态管理的不二之选.../native 导入 observer; 使用 @observer 装饰器描述类,确保相关数组变化后组件独立地重渲染; 导入已经创建好的组件 NewItem。...这是我们要增加新条目时转向的组件; 在 addListItem中,把 this.state.text 传入this.props.store.addListItem。...在与输入框绑定的 updateText 中会更新this.state.text; 在 removeListItem 中调用 this.props.store.removeListItem 并传入条目;...= this.props.store 8.在 render 方法中,也创建了界面,并绑定了类的方法 import React, { Component } from 'react' import

    12.4K80

    Hooks 邂逅 MobX ,代码变得更丝滑了!

    还有些朋友想要使用 React Hooks 来重构升级部分业务,或者封装优化一些通用的业务组件,来提升项目的可扩展性,但是却困于不知如何 在 Hooks 中继续使用Mobx 这一状态管理库了,使用过程中感觉畏手畏脚奇奇怪怪的...其实 Hooks 这些问题都是因为没有一个公共的空间来共享数据导致的,在 Class 组件中,我们有 this , 在 Vue3 中,我们有 setup作用域 。...Mobx 为 Hooks 准备的倚天屠龙 API Hooks 存在的问题,我们刚刚介绍过了,Mobx 在 v6 版本中推出的API 又是如何在保留 Hooks 的强大特性的前提下,帮她搞定这些问题的呢?...中使用 mobx 时候 我们使用 observer HOC 的方式 ,它的主要能力是给类组件提供 pure component 的能力,可以将类组件的 props 和 state 转换为 observable...import React from 'react'; import { Observer, useLocalStore } from 'mobx-react'; import {store } from

    1.4K10
    领券