首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

react常见面试题

组件之间传值父组件给子组件传值 在父组件中用标签属性的=形式传值 在子组件中使用props来获取值子组件给父组件传值 在组件中传递一个函数 在子组件中用props来获取传递的函数,然后执行该函数...React的严格模式如何使用,有什么用处?StrictMode 是一个用来突出显示应用程序中潜在问题的工具。与 Fragment 一样,StrictMode 不会渲染任何可见的 UI。...在 HTML 中,表单元素如 、和通常维护自己的状态,并根据用户输入进行更新。当用户提交表单时,来自上述元素的值将随表单一起发送。...而 React 的工作方式则不同。包含表单的组件将跟踪其状态中的输入值,并在每次回调函数(例如onChange)触发时重新渲染组件,因为状态被更新。...以这种方式由 React 控制其值的输入表单元素称为受控组件。

1.5K10

年前端react面试打怪升级之路

受控组件更新state的流程:可以通过初始state中设置表单的默认值每当表单的值发生变化时,调用onChange事件处理器事件处理器通过事件对象e拿到改变后的状态,并更新组件的state一旦通过setState...方法更新state,就会触发视图的重新渲染,完成表单组件的更新受控组件缺陷: 表单元素的值都是由React组件进行管理,当有多个输入框,或者多个这种组件时,如果想同时获取到全部的值就必须每个都要编写事件处理函数...(2)非受控组件 如果一个表单组件没有value props(单选和复选按钮对应的是checked props)时,就可以称为非受控组件。在非受控组件中,可以使用一个ref来从DOM获得表单值。...DOM如果是现用现取的称为非受控组件,而通过setState将输入的值维护到了state中,需要时再从state中取出,这里的数据就受到了state的控制,称为受控组件。...,如组件自身的状态和生命周期钩子,也能使组件直接访问 store 并维持状态当组件仅是接收 props,并将组件自身渲染到页面时,该组件就是一个 '无状态组件(stateless component)'

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一天梳理完react面试题

    如果初始化了state之后再使用this.state,之前的state会被覆盖掉,如果使用this.setState,只会替换掉相应的state值。...所以,如果想要修改state的值,就需要使用setState,而不能直接修改state,直接修改state之后页面是不会更新的。React的生命周期有哪些?...该函数会在装载时,接收到新的 props 或者调用了 setState 和 forceUpdate 时被调用。如当接收到新的属性想修改 state ,就可以使用。...受控组件更新state的流程:可以通过初始state中设置表单的默认值每当表单的值发生变化时,调用onChange事件处理器事件处理器通过事件对象e拿到改变后的状态,并更新组件的state一旦通过setState...DOM如果是现用现取的称为非受控组件,而通过setState将输入的值维护到了state中,需要时再从state中取出,这里的数据就受到了state的控制,称为受控组件。

    5.5K30

    Flutter 全栈式——基础控件

    输入框的控制器,通常用于获取输入的内容 focusNode FocusNode 用于输入框的焦点管理和监听 decoration InputDecoration 输入框的装饰器,用于修改外观 keyboardType...,则使用fillColor指定的颜色填充 fillColor Color 输入框的背景颜色 errorBorder InputBorder errorText不为空,且输入框没有焦点时要显示的边框 focusedBorder...InputBorder 输入框有焦点时的边框,errorText必须为空 focusedErrorBorder InputBorder errorText不为空时,输入框有焦点时的边框 disabledBorder...focusNode FocusNode 用于焦点管理和监听 autofocus bool 是否自动获得焦点 Row( children: [ Radio...focusNode FocusNode 用于焦点管理和监听 autofocus bool 是否自动获得焦点 CupertinoSwitch 的属性较少 属性名 类型 简述 value bool 当前开关状态

    3.8K40

    Flutter | 常用组件

    ,使用 FadeInImage 之后会在图片的加载过程中显示一个占位符,在图片加载完成之后显示淡入 ICON 在 Flutter 中,可以直接使用 字体图标,它是将图标做成字体文件,然后通过指定不同的字符而现实不同的图片...大多数情况下我们都需要显示的提供一个 controller 来与文本框交互,如果没有提供,则 TextField 会自动创建一个 focusNode :用于控制 TextField 是否占有当前键盘输入的焦点...InputDecoration:用于控制 TextField 的外观显示,如提示文本,背景颜色,边框等 keyboardType :用于设置该输入框的键盘输入类型,取值如下: image.png...obscureText :是否隐藏正在编辑的文本,如输入密码等。...,当 为 true 时,每一个自 FormField 都会自动校验合法性,并直接显示错误信息。

    11.4K30

    超实用的 React Hooks 常用场景总结

    前言 文章虽然比较长,但是可以说是全网最全最有用的总结了,学会的记得分享、点赞、收藏、谢谢支持 React 在 v16.8 的版本中推出了 React Hooks 新特性。...: 直接更新不依赖于旧 state 的值;函数式更新依赖于旧 state 的值; // 直接更新 setState(newCount); // 函数式更新 setState(prevCount =>...其应用场景在于:创建初始 state 很昂贵时,例如需要通过复杂计算获得;那么则可以传入一个函数,在函数中计算并返回初始的 state,此函数只在初始渲染时被调用: const [state, setState...state 逻辑抽离; (3)调用 State Hook 的更新函数并传入当前的 state 时,React 将跳过子组件的渲染及 effect 的执行。...会每次等待浏览器完成画面渲染之后延迟调用 effect;但是如果某些特定值在两次重渲染之间没有发生变化,你可以通知 React 跳过对 effect 的调用,只要传递数组作为 useEffect 的第二个可选参数即可

    4.7K30

    20道高频react面试题(附答案)

    对于某些属性,React 非常聪明,如果传递给它的值是虚值,可以省略该属性。...Dva工作原理集成redux+redux-saga工作原理改变发生通常是通过用户交互行为或者浏览器行为(如路由跳转等)触发的,当此类行为会改变数据的时候可以通过 dispatch 发起一个 action...而函数组件更加契合 React 框架的设计理念: React 组件本身的定位就是函数,一个输入数据、输出 UI 的函数。...高阶组件(HOC)是接受一个组件并返回一个新组件的函数。...基本上,这是一个模式,是从 React 的组合特性中衍生出来的,称其为纯组件,因为它们可以接受任何动态提供的子组件,但不会修改或复制输入组件中的任何行为。

    1.3K30

    高频React面试题及详解

    、Portals、字符串和数字、Boolean和null等内容 componentDidMount: 组件装载之后调用,此时我们可以获取到DOM节点并操作,比如对canvas,svg的操作,服务器请求,...setState 的“异步”并不是说内部由异步代码实现,其实本身执行的过程和代码都是同步的,只是合成事件和钩子函数的调用顺序在更新之前,导致在合成事件和钩子函数中没法立马拿到更新后的值,形成了所谓的“异步...setState 的批量更新优化也是建立在“异步”(合成事件、钩子函数)之上的,在原生事件和setTimeout 中不会批量更新,在“异步”中如果对同一个值进行多次setState,setState的批量更新策略会对其进行覆盖...,取最后一次的执行,如果是同时setState多个不同的值,在更新时会对其进行合并批量更新。...、react-hooks的优劣如何?

    2.4K40

    React Native之TextInput组件实现联想输入

    TextInput组件是最基本的组件,相关介绍请查看TextInput组件介绍 输入框组件属性 输入框组件的主要属性如下: autoCapitalize : 枚举类型,可选值有none,sentences...placeholder:占位符,在输入前显示的文本内容。 value : 文本输入框的默认值。 placeholdertTextColor : 占位符文本颜色。...maxLength : 能够输入的最长字符数。 enablesReturnKeyAutomatically : 如果值为true,表示没有文本时键盘是不能有返回键的。其默认值为false。...returnKeyType : 表示软键盘返回键显示的字符串。...onBlur : 失去焦点出发事件。 onFocus : 获得焦点出发事件。 onSubmitEditing : 当结束编辑后,点击键盘的提交按钮出发该事件。

    3.3K100

    一文总结 React Hooks 常用场景

    谢谢支持 React 在 v16.8 的版本中推出了 React Hooks 新特性。...: 直接更新不依赖于旧 state 的值;函数式更新依赖于旧 state 的值; // 直接更新 setState(newCount); // 函数式更新 setState(prevCount =>...其应用场景在于:创建初始 state 很昂贵时,例如需要通过复杂计算获得;那么则可以传入一个函数,在函数中计算并返回初始的 state,此函数只在初始渲染时被调用: const [state, setState...state 逻辑抽离; (3)调用 State Hook 的更新函数并传入当前的 state 时,React 将跳过子组件的渲染及 effect 的执行。...会每次等待浏览器完成画面渲染之后延迟调用 effect;但是如果某些特定值在两次重渲染之间没有发生变化,你可以通知 React 跳过对 effect 的调用,只要传递数组作为 useEffect 的第二个可选参数即可

    3.5K20

    React 进阶 - State

    和 props 将作为参数,返回值用于合并新的 state 第二个参数 callback: 一个函数,函数执行上下文中可以获取当前 setState 更新后的最新 state 的值,可以作为依赖 state...正常 state 更新、UI 交互,都离不开用户的事件,比如点击事件,表单输入等,React 是采用事件合成的形式,每一个事件都是由 React 事件系统统一调度的,那么 State 批量更新正是和事件系统息息相关的...如果一次更新任务在 flushSync 回调函数内部,那么将获得一个较高优先级的更新。...# 函数组件中的 State React-hooks 正式发布以后, useState 可以使函数组件像类组件一样拥有 state,也就说明函数组件可以通过 useState 改变 UI 视图。...组件模式下, setState 不会浅比较两次 state 的值,只要调用 setState,在没有其他优化手段的前提下,就会执行更新。

    93620

    「React进阶」 React全部api解读+基础实践大全(夯实基础万字总结)

    经典的案例就是 react-router中的Swtich组件,通过这种方式,来匹配唯一的 Route并加以渲染。...react-hooks 对于react-hooks,我已经写了三部曲,对于常见的hooks,我这里就不多讲了,还没看过的同学建议看一下react-hooks三部曲。...在某些情况下,格式化值的显示可能是一项开销很大的操作。除非需要检查 Hook,否则没有必要这么做。因此,useDebugValue 接受一个格式化函数作为可选的第二个参数。...它接受 debug 值作为参数,并且会返回一个格式化的显示值。 useTransition useTransition允许延时由state改变而带来的视图渲染。避免不必要的渲染。...如果一次更新任务在flushSync回调函数内部,那么将获得一个较高优先级的更新。

    2.2K30

    接着上篇讲 react hook

    state 计算得出,那么可以将函数传递给 setState。...该函数将接收先前的 state,并返回一个更新后的值。注意了 useState 不会自动合并更新对象,所以运算符来达到合并更新对象的效果。...,但是如果初始 state 需要通过复杂计算获得,则可以传入一个函数,在函数中计算并返回初始的 state,此函数只在初始渲染时被调用 const [state, setState] = useState...复制代码 默认情况下,它在第一次渲染之后和每次更新之后都会执行,而且 effect 的清除阶段在每次重新渲染时都会执行,这个能就会导致性能问题 ,所以他又称是副作用。...const inputEl = useRef(null); const onButtonClick = () => { // `current` 指向已挂载到 DOM 上的文本输入元素

    2.6K40

    React Native控件只TextInput

    TextInput是一个允许用户在应用中通过键盘输入文本的基本组件。本组件的属性提供了多种特性的配置,譬如自动完成、自动大小写、占位文字,以及多种不同的键盘类型(如纯数字键盘)等等。...默认值是true。 autoFocus bool 如果为true,在componentDidMount后会获得焦点。默认值为false。...改变后的文字内容会作为参数传递。 onEndEditing function 当文本输入结束后调用此回调函数。 onFocus function  当文本框获得焦点的时候调用此回调函数。...selectTextOnFocus bool 如果为true,当获得焦点的时候,所有的文字都会被选中。...selectTextOnFocus bool 如果为true,当获得焦点的时候,所有的文字都会被选中。

    3.6K80

    Flutter 桌面开发 | 键盘快捷键功能 - Shortcuts 组件

    ---->[状态类中]---- void _incrementCounter(IncrementIntent intent) { setState(() { _counter++; })...快捷键与焦点的关联 下面实现一些输入框通过 Ctrl + Enter 快捷键发送的功能,介绍一下快捷键和焦点的关联。现在的目的是只有当输入框获取焦点之后,才可以响应快捷键。...对于输入框来说,它内部有 Focus 组件,并且可以提供 FocusNode 焦点对象来控制焦点:对于输入框来说,焦点激活就是可输入状态: final FocusNode _inputNode = FocusNode...快捷键触发时,回调 _sendMessage 方法,其中取消焦点,清空文字。焦点取消之后,就无法响应快捷键了,当点击输入框时,焦点会再次激活,可以响应快捷键。...关于 Focus 体系也是一个比较复杂的东西,以后有机会再详细介绍。那本文就到这了,谢谢观看 ~

    1.2K40

    【React】学习笔记(一)——React入门、面向组件编程、函数柯里化

    即不受setState()的控制,与传统的HTML表单输入相似,input输入值即显示最新值。 在非受控组件中,可以使用一个ref来从DOM获得表单值。...在React中,可变状态通常保存在组件的状态属性中,并且只能使用 setState() 进行更新,而呈现表单的React组件也控制着在后续用户输入时该表单中发生的情况,以这种由React控制的输入表单元素而改变其值的方式...state 4、一旦通过setState方法更新state,就会触发视图的重新渲染,完成表单组件的更新 React中数据是单项流动的,从示例中,可以看出表单的数据来源于组件的state,并通过props...例如:某些form表单信息编辑时,input表单元素需要初始显示服务器返回的某个值然后进行编辑。 2、非受控组件使用场景:一般用于无任何动态初始值信息的情况。...,如之后还要保存用户的身份证号、电话等信息。

    5.1K30

    第六篇:React-Hooks 设计动机与工作模式(上)

    其实这三者是相辅相成、缺一不可的:当我们了解了具体的“What”和“How”之后,往往能够更加具象地回答理论层面“Why”的问题;而我们对“Why”的探索和认知,也必然会反哺到对“What”的理解和对“...如果在认知它的过程当中,我们能够遵循“Why→What→How”这样的一个学习法则,并且以此为线索,梳理出属于自己的完整知识链路。那么我相信,面对再刁钻的面试官,你都可以做到心中有数、对答如流。...因此,你首先得知道,什么是类组件、什么是函数组件,并完成对这两种组件形式的辨析。...类似于我们在微博上点击“关注某人”之后弹出的“已关注”这样的提醒。...这个现象必然让许多人感到困惑:user 的内容是通过 props 下发的,props 作为不可变值,为什么会从 Dan 变成 Sophie 呢?

    62520

    快速上手 React Hook

    context 传递的 value prop 值 useContext 接收一个 context 对象(React.createContext的返回值)并返回 context 的当前值,当前的 context...当你把回调函数传递给经过优化的并使用引用相等性去避免非必要渲染,在 props 属性相同情况下,React 将跳过渲染组件的操作并直接复用最近一次渲染的结果。...= () => { // `current` 指向已挂载到 DOM 上的文本输入元素 inputEl.current.focus(); }; return ( ..."react-hooks/rules-of-hooks": "error", // 检查 Hook 的规则 "react-hooks/exhaustive-deps": "warn" // 检查...目前为止,在 React 中有两种流行的方式来共享组件之间的状态逻辑: render props 和高阶组件,现在让我们来看看 Hook 是如何在让你不增加组件的情况下解决相同问题的。

    5K20
    领券