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

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

> )}复制代码如果想把父组件中的属性传给所有的子组件,需要使用React.Children方法。...那为什么不要在循环、条件或嵌套函数中调用 Hook 呢?因为 Hooks 的设计是基于数组实现。在调用时按顺序加入数组中,如果使用循环、条件或嵌套函数很有可能导致数组取值错位,执行错误的 Hook。...shouldComponentUpdate 在初始化 和 forceUpdate 不会执行在使用 React Router时,如何获取当前页面的路由或浏览器中地址栏中的地址?...中,如何解决8081端口号被占用而提示无法访问的问题?...(4)都使用虚拟DOM。(5)都可以放在单独的HTML文件中,或者放在 Webpack设置的一个更复杂的模块中。(6)都有独立但常用的路由器和状态管理库。

1.8K10

Vue2向Vue3过渡,持续记录

$forceUpdate()、this.nextTick() 编程总结:在setup中应该如何去规划代码?如何模块化?如何才不会一团乱?...只执行一次(参数都是包装后的proxy对象) props,代表给组件传递的参数 context,组件所处的上下文对象(props、emit、slots); 思考 在setup如何高效的、准确的把各种逻辑抽离出来...Provide和Inject 父组件有一个 provide 选项来提供数据,后代组件有一个 inject 选项来开始使用这些数据。无论组件层次结构有多深,父组件都可以作为其所有子组件的依赖提供者。...26.provide和inject使用记录 当在setup语法糖内使用provide和inject时,如果代码在非阻塞的异步代码之后,控制台会输出异常警告(将初始的异步请求放在onMounted等生命周期内...父组件的父组件定义的应该是所有子组件用的,共享数据的层次感。。。! 28.v-for循环动态生成表单的时候,绑定循环的临时变量会保持响应式吗?

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

    模板标签

    一、概述 语法: {% tag %} 说明 所有的控制语句都是放在{% ... %}中,并且有一个语句{% endxxx %}来进行结束 作用 在输出中创建文本 控制逻辑和循环...test_arg() }} {# 传实参 #} {{ test_arg('lucky',18) }} {{ test_arg('张三') }} 宏的导入 在真实的开发中,会将一些常用的宏单独放在一个文件中...和python一样 宏的默认值 遵循默认值规则 有默认值的放在右侧 没有默认值的 放在左侧 关键字的参数使用 同python函数一样 七、模板继承 概述 Flask中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来...,放在父模板中,并且父模板通过定义block给子模板开一个口,子模板根据需要,再实现这个block 基础模板base.html <!...均实现了代码的复用 不同点 包含是直接将目标文件整个渲染出来 宏类似函数,并且可以传参,需要定义和调用 继承的本质是代码的替换,一般用来实现页面中重复不变的区域

    58910

    高级前端react面试题总结

    它通过创建 Sagas 将所有异步操作逻辑存放在一个地方进行集中处理,以此将react中的同步操作与异步操作区分开来,以便于后期的管理与维护。...可以将数据请求放在这里进行执行,需要传的参数则从componentWillReceiveProps(nextProps)中获取。而不必将所有的请求都放在父组件中。...在编译完成之后,JSX 表达式就变成了常规的 JavaScript 对象,这意味着你可以在 if 语句和 for 循环内部使用 JSX,将它赋值给变量,接受它作为参数,并从函数中返回它。...中,当涉及组件嵌套,在父组件中使用props.children把所有子组件显示出来。...> )}如果想把父组件中的属性传给所有的子组件,需要使用React.Children方法。

    4.1K40

    Python爬取东方财富网资金流向数据并存入MySQL

    div> 可定义文档中的分区或节,可以对同一个 div> 元素应用 class 或 id 属性,但是更常见的情况是只应用其中一种。...这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的唯一的元素。...至此,我们对要爬取的数据的构成有了一个大概的认知。 第三步:编写程序 etree.HTML()可以用来解析字符串格式的HTML文档对象,将传进去的字符串转变成_Element对象。...- add_extension:添加本地插件- add_experimental_option:添加实验选项- to_capablilities:将options转为标准的capablitiies格式...|//|从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置(取子孙节点)。|.|选取当前节点。|..|选取当前节点的父节点。|@|选取属性。

    2.6K30

    看Zepto如何实现增删改查DOM

    = null) this.removeChild(this) }) } 遍历当前集合中的元素,当该元素的父节点存在的时候,使用removeChild删除该元素。...当参数类型为数组(类似上面例子中的4)的时候,再对该参数进行遍历,如果该参数中的元素存在nodeType属性则将该元素推进数组arr, 如果该参数中的元素是一个Zepto对象,则调用get方法,将arr...到现在为止,我们已经明白了怎么将传入的content转化为对应的dom节点。 接下来我们来看如何将nodes中创建好的dom节点插入到目标位置。...当给定content参数时,使用它替换对象集合中所有元素的文本内容。它有待点似 html,与它不同的是它不能用来获取或设置 HTML。...大家可以重新回去看一下append的核心实现。 wrap 在每个匹配的元素外层包上一个html元素。structure参数可以是一个单独的元素或者一些嵌套的元素。

    1.5K10

    Jinja2用法总结

    上面的语句创建的是全局变量,从定义之后的文件部分中都可以访问 。 2)局部变量 可以使用with语句来创建一个内部的作用域,将set语句放在其中,这样创建的变量只在with代码块中才有效。...可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量,在使用宏时传递参数,从而将宏渲染成为页面的一部分。...会将一些常用的宏单独放在一个文件中,在需要使用的时候,再从这个文件中进行导入。...,放在父模板中,并且父模板通过定义block给子模板开一个口,子模板根据需要,再实现这个block进行具体内容定义。...by you. {% endblock %} div> html> 然后定义子模版,对父模板中的block

    2.1K10

    vue常见操作使用手法

    追加class , 场景 在循环某个列表时候,某个列表有class,绑定一个方法,可以支持穿参数 dom 的值 } } 总结套路: 子组件使用函数(事件)给父组件传递 receiveTitle 属性,然后父组件监测这个属性,给这个属性绑定方法 receiveTitle,方法传参数...,这个参数就是 要传递的 值 6.父-> 子 父组件: dom: js: courseList()...( err => { console.log(err) }); 子组件: props: { courseList: { type: Array } } 总结套路:父组件将变量传到子组件...,这样每个 item 就有对应的 index, 然后我们点击某个对应的 index选项的时候, 就会获取到他的type (就是index,我们在方法中传值过去), index获取到了,我们就可以拿这个点击的

    1.5K10

    angularjs directive学习心得

    ,当然,你如果直接使用ng-transclude的话,就默认将所有你没有设置名字的标签全部移到里面....看了很多资料,我觉得比较有用的解决方法是以下两个: 1.使用transclude函数来将解决。...(我也不知道这算不算方法) require 这个参数是用来加载其他directive的controller用的,比如你可能需要到父元素的controller的一些变量或者方法,那么你就可以通过他来访问父元素的...,"A"(属性值),"E"(元素),"C"(类名),"M"(评论) 比如你将一个声明为E的话,那么你只能通过来调用它,不过一个directive可以声明为多个选项. template 一个html段...templateUrl 类似于html段,不过就是将它单独写在一个文件里,通过url异步加载进来,compile在它的加载过程中,即使之前使用缓存,它也会去执行别的directive的编译工作,这样就不会导致阻塞

    1K10

    看Zepto如何实现增删改查DOM

    = null) this.removeChild(this) }) } 遍历当前集合中的元素,当该元素的父节点存在的时候,使用removeChild删除该元素。...当参数类型为数组(类似上面例子中的4)的时候,再对该参数进行遍历,如果该参数中的元素存在nodeType属性则将该元素推进数组arr, 如果该参数中的元素是一个Zepto对象,则调用get方法,将arr...到现在为止,我们已经明白了怎么将传入的content转化为对应的dom节点。 接下来我们来看如何将nodes中创建好的dom节点插入到目标位置。...当给定content参数时,使用它替换对象集合中所有元素的文本内容。它有待点似 html,与它不同的是它不能用来获取或设置 HTML。...大家可以重新回去看一下append的核心实现。 wrap 在每个匹配的元素外层包上一个html元素。structure参数可以是一个单独的元素或者一些嵌套的元素。

    2.5K90

    vuejs中的组件以及父子组件间通信传值

    (您有任何疑问,都可以进行提问,我们一起探讨) 前言 您将在本文当中了解到,往网页中添加数据,从传统的dom操作过渡到数据层操作,实现同一个目标,两种不同的方式.以及什么是组件,如何定义和使用组件,父子组件之间如何进行简单的通信传值...', { 选项/* ... */ }),其中第一个参数表示的是组件的名字,第二个参数是配置选项对象(可包括数据data,template,props,methods等实例选项) 这里要注意的是,当直接在...,它是保存在父组件中的list数组中,是直接挂载根实例下的,通过按钮的添加操作,将每次新添加的值渲染到指定页面位置当中去 父组件中的数据是无法直接的在子组件中使用的,所以在父组件引用的子组件中,通过v-bind...指令绑定自定义属性值的方式,父组件中的数据,可以通过v-for循环列表拿到数据 在上面的时例代码中,通过自定义一个content变量属性用来接收父组件中的数据,v-bind:content="item"...进行传递,而子组件触发父组件时,在$emit第二个参数,通过携带索引值参数,这个参数也会随之的被传入到父组件中去 注意点: 子组件内定义的事件方法或者数据是无法在父组件中使用的,反过来也是如此,也就是说

    20.5K10

    vue封装带提示框的单选多选文本框组件

    在最近的vue+element的前端项目中,需要实现动态渲染带提示框的单选/多选文本框,具体的效果如下图所示,在输入框聚焦时,前端组件通过接收的kv参数渲染出选项,用户点击选项选中,可以将选择的选项的key...由于项目中使用的element-ui,首选考虑使用UI框架中的input和select组件,然而实际使用中参考文档发现框架提供的组件不能很好满足此需求。...对于多选,此时不应该关闭提示框,所有问题的关键在于如何实现点击提示选项而不隐藏提示框。 ?...**问题2:**阻止冒泡,如果组件的父容器已经阻止了冒泡,则无法触发在body上绑定的关闭方法,需要针对父容器单独处理。...,并通过$emit方法同步到父组件中,实现数据的双向绑定。

    7.8K30

    第八章:vue生命周期、vue的DOM操作、mixin混入,插件

    可以达成由父组件直接操作子组件的需求。 2.4 $nextTick方法 作用: 将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。...分类: 局部混入 全局混入 3.2 局部混入使用 把多个组件中可能会重复利用的代码抽取出来 放在一个mixin.js文件中 export const a = { methods:{ aaa...这个方法的第一个参数是 ​​Vue​​ 构造器,第二个参数是一个可选的选项对象(就是在使用插件时 可以传入其余的自定义参数): //自定义并向外暴漏一个插件 export default { /...}) 也可以传入一个可选的选项对象: Vue.use(MyPlugin, { someOption: true })//此处的{ someOption: true }就是传入插件中的其余参数 ​​Vue.use​​...}) 也可以传入一个可选的选项对象: Vue.use(MyPlugin, { someOption: true })//此处的{ someOption: true }就是传入插件中的其余参数 ​​Vue.use​​

    11610

    04.Django基础四之模板系统

    调用的结果将成为模版的值。 如果使用的变量不存在, 模版系统将插入 string_if_invalid 选项的值, 它被默认设置为'' (空字符串) 。   ...为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。     ... div> html>   请注意,子模版并没有定义 sidebar block,所以系统使用了父模版中的值。...六 组件   可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中,然后在需要使用的地方,文件的任意位置按如下语法导入即可。...') #将result.html里面的内容用下面函数的返回值渲染,然后作为一个组件一样,加载到使用这个函数的html文件里面 def show_results(n): #参数可以传多个进来 n

    2.6K30

    angularJS学习之路(十七)---自定义指令

    class="myDirective:xx">div> M 代表注释的意思 作用形如:   这是少用 上面的各个选项 可以单独使用,也可以混合使用...,参数为:tElement,tAttrs 返回值是:代表模板的字符串 参数中:tElement,tAttrs 的t代表 template 是相对于 instance 的 作用:就是将多个DOM元素封装在一起...如果模板字符串中含有多个DOM元素,或者只有一个单独的文本节点构成,那他必须被包含在一个父元素内部 换句话说  必须存在一个跟DOM元素 举个例子:         HTML模板,这个加载的过程是异步的,编译和链接需要暂停,等待模板加载完成,严重拖慢客户端应用速度, 解决方法:在部署之前对HTML模板进行缓存   这是一个非常好的选择  放在一个定义模板的javascript...  或者叫  创建一个可以复用的指令 详细说:可以将整个模板包括其中的指令 嵌入  另外一个 指令中 实现的目的就是:指令的内部可以访问外部指令的作用域 这个时候有个前提条件就是:scope选项必须是通过

    70410

    用R语言抓取网页图片——从此高效存图告别手工时代

    那么下一步的目标就很明确了,如何通过函数批评获取图片地址,然后将包含图片地址的字符串向量传递给下载函数。...下面就今天分享内容总结以下几点: 用R抓取图片的核心要点是获取html结构中存放图片的div分区中的img标签内的src内容(也就是图片地址,有时候可能需要使用read_src内的地址)。...div结构是否正确,可以借助鼠标选取+html路径信息来定位; 有时候有些网页的图片不是集中存放在单个div分区结构中,而是每张图片都是单独的div结构,这时候如果还是定位的最底层div分区位置的话,那么你可能只能获取单张图片地址...这时候适当的定位父级div分支结构名称(酌情观察,看那个父级结构范围可以涵盖所有目标图片的子div分支结构) 还有一种情况,就是有些公开的图片网站图片存储结构非常规则,分页存储,单页中单个div结构下的一组图片名称是按照数字顺序编号的...以上是小魔方最近学习过程中的一丁点儿心得,会爬虫的大神别喷我,我真的是个小白~ 声明: ---- 以上图片爬虫代码仅作个人练习R语言爬虫使用,各位小伙伴儿练习完毕之后,请尊重知乎原答主的版权,勿将所抓取图片商用

    2.4K110

    Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)

    html>" % now     return HttpResponse(html) 尽管这种技术便于解释视图是如何工作的,但直接将HTML硬编码到你的视图里却并不是一个好主意。...为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。...标签比变量更加复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模版中。... div> html> 请注意,子模版并没有定义 sidebar block,所以系统使用了父模版中的值。...注意:模板一般放在app下的templates中,Django会自动去这个文件夹中找。

    2.6K80

    Django的模板系统

    模板系统将插入string_if_invalid选项的值,它被默认设置为"(空字符串)"   例子:       views.py  中的代码 def index(request): import...,首先,它将定位父模板----就是base.html   请注意,子模版并没有定义 sidebar block,所以系统使用了父模版中的值。...六 组件   可以将常用的页面如导航条,页尾信息等组件保存在单独的文件中,然后在需要使用的地方,文件的任意位置按如下语法导入即可 {% include 'navbar.html' %}   例如:有个如下的导航栏...在使用自定义simple_tag和filter的html文件中导入之前创建的my_tags.py   {% load my_tags%} 5 使用simple_tag和filter(如何调用) ----...') #将result.html里面的内容用下面函数的返回值渲染, 然后作为一个组件一样,加载到使用这个函数的html文件里面 def show_result(n):#参数可以传多个进来 n

    1.7K10

    vue封装带提示框的单选多选文本框组件

    在最近的vue+element的前端项目中,需要实现动态渲染带提示框的单选/多选文本框,具体的效果如下图所示,在输入框聚焦时,前端组件通过接收的kv参数渲染出选项,用户点击选项选中,可以将选择的选项的key...对于多选,此时不应该关闭提示框,所有问题的关键在于如何实现点击提示选项而不隐藏提示框。...问题2:阻止冒泡,如果组件的父容器已经阻止了冒泡,则无法触发在body上绑定的关闭方法,需要针对父容器单独处理。...$nextTick: 在vue官方深入响应式原理中说明了 vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick...,并通过$emit方法同步到父组件中,实现数据的双向绑定。

    5.4K403

    Vue 基础

    TODOList v-for 循环遍历 data中 list 的数据 v-on 绑定事件, 放在methods 内 todoList 中在按钮中绑定提交事件 简写: v-on:click => @click...Vue 内置的, 我们并不需要关注 主要面向数据进行操作 前端组件化 可以将页面进行切分, 组件就是界面中的一小块。 父组件使用v-bind 向子组件传值,子组件使用 this....$emit 向父组件触发事件,父组件监听这个时间, 并接受事件的参数 Vue 实例 全局变量: app.$data.xx 以$开头的都是这个实例的实例属性和实例方法 app....子组件 使用props 接受父组件传递的参数 var counter = { template: 'div>{{count}}div>', props : ["count..."], } 单项数据流:子组件不能反过来修改父组件的值, 只能拷贝后修改自己的值 父子组件传值 父组件通过属性的方式,子组件props 接收 子组件使用事件触发向上传值,父组件监听事件,获得传递的参数

    92620
    领券