2021react面试题附答案
2021react面试题附答案
React视频教程系列
React 实战:CNode视频教程
完整教程目录:点击查看
React经典教程-从入门到精通
完整教程目录:点击查看
最新最全前端毕设项目(小程序+VUE+Noed+React+uni app+Express+Mongodb)
完整教程目录:点击查看
2021前端React精品教程
完整教程目录:点击查看
1. 你理解“在React中,一切都是组件”这句话。
组件是 React 应用 UI 的构建块。这些组件将整个 UI 分成小的独立并可重用的部分。每个组件彼此独立,而不会影响 UI 的其余部分。
2. 解释 React 中 render() 的目的。
每个React组件强制要求必须有一个 render()。它返回一个 React 元素,是原生 DOM 组件的表示。如果需要渲染多个 HTML 元素,则必须将它们组合在一个封闭标记内,例如 可以通过以下方式将组件嵌入到一个组件中: Props 是 React 中属性的简写。它们是只读组件,必须保持纯,即不可变。它们总是在整个应用中从父组件传递到子组件。子组件永远不能将 prop 送回父组件。这有助于维护单向数据流,通常用于呈现动态生成的数据。 状态是 React 组件的核心,是数据的来源,必须尽可能简单。基本上状态是确定组件呈现和行为的对象。与props 不同,它们是可变的,并创建动态和交互式组件。可以通过 使用 react 经常会遇到几个组件需要共用状态数据的情况。这种情况下,我们最好将这部分共享的状态提升至他们最近的父组件当中进行管理。我们来看一下具体如何操作吧。 {this.state.txt} 高阶组件不是组件,是 增强函数,可以输入一个元组件,返回出一个新的增强组件 Context 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 属性。、、3. 如何将两个或多个组件嵌入到一个组件中?
class MyComponent extends React.Component{
render(){
return(
Hello
Header Component
};
}
ReactDOM.render(
4. 什么是 Props?
5. React中的状态是什么?它是如何使用的?
this.state() 访问它们。6. 区分状态和 props
条件
State
Props
1. 从父组件中接收初始值
Yes
Yes
2. 父组件可以改变值
No
Yes
3. 在组件中设置默认值
Yes
Yes
4. 在组件的内部变化
Yes
No
5. 设置子组件的初始值
Yes
Yes
6. 在子组件的内部更改
No
Yes
7.什么是受控组件和非受控组件
class Input extends Component{
constructor(){
super();
this.state = {val:'100'}
}
handleChange = (e) =>{ //e是事件源
let val = e.target.value;
this.setState({val});
};
render(){
return (
class Sum extends Component{
constructor(){
super();
this.state = {result:''}
}
//通过ref设置的属性 可以通过this.refs获取到对应的dom元素
handleChange = () =>{
let result = this.refs.a.value + this.b.value;
this.setState({result});
};
render(){
return (
8.什么是状态提升
import React from 'react'
class Child_1 extends React.Component{
constructor(props){
super(props)
}
render(){
return (
{this.props.value+2}
{this.props.value+1}
9、什么是高阶组件
function proxyHoc(WrappedComponent) {
return class extends React.Component {
render() {
const newProps = {
count: 1
}
return
const MyContainer = (WrappedComponent)=>{
return class extends WrappedComponent {
render(){
return super.render();
}
}
}
10.什么是上下文Context
import React,{Component} from 'react';
import ReactDOM from 'react-dom';
import PropTypes from 'prop-types';
class Header extends Component{
render() {
return (