作者丨MichaelPautov 译者|翟可 评论人丨Noe 说到前端开发,ReactJS是当下最热门的选择之一。下面列出了最常见的ReactJS面试问题。 从易到难,一起来看看五道高频面试题吧。为什么使用React而不是Angular? 使用React构建动态Web应用程序更容易,因为它具有更多功能且代码更少,但对于JavaScript应用程序,代码往往会变得复杂。 Web应用程序将更快,这要归功于React应用程序中使用的虚拟DOM。虚拟DOM不会更新真实DOM中的所有组件,而是分析其先前的状态并仅更新那些已更改的组件。 换句话说,可以通过使用组件创建新的工件来重用每个React项目的工件。为了节省开发时间,这些预构建的组件封装了自己的逻辑和控件,可以在整个程序中共享。 React具有单向数据流。在React应用程序的设计过程中,我们通常会将子组件层叠在其父组件中。故障排除也更简单,因为数据流经单一通道,从而更容易识别程序中的问题所在。 Facebook发布了一个浏览器插件,可以让我们更方便地调试React应用程序。由于这一改进,调试React网络应用程序变得更快、更容易。Reduxthunk的作用是什么?使用Reduxthunk,您可以构建返回函数而不是操作的操作创建器。通过使用延迟功能,可以延迟操作直到满足特定条件。您可以将两个存储方法getState和dispatch传递给内部函数。 必须先使用applyMiddleware()方法:import{createStore,applyMiddleware}from'redux';importthunkfrom'redux-thunk';importrootReducerfrom'./reducers/index';conststore=createStore(rootReducer,应用中间件(thunk));React中的useState()是做什么的? useState()ReactHook允许在功能组件中使用状态变量。这种方法非常适合动态操作DOM。 SetCounter方法是UseState(0)的第二个参数,它返回一个元组,count是第一个参数,setCounter方法是第二个参数。..const[count,setCounter]=useState(0);const[otherStuffs,setOtherStuffs]=useState(..);..constsetCount=()=>{setCounter(count+1);setOtherStuffs(..);..}; 要更新计数,您可以使用setCounter()方法。在此示例中,SetCounter()用于setCount方法中,可以执行各种操作。当我们使用钩子时,我们可能使我们的代码更有用,如果不是绝对必要的话,避免使用基于类的组件。useEffect钩子有用吗?useEffectReactHook可用于在功能组件中发挥边际效用。如果你的组件需要在渲染后或状态改变后做一些事情,你可以使用useEffect来通知React。 React会在DOM更新功能完成后立即记住并执行您提供的功能。除了更新页面标题之外,此函数还可用于从Web服务器获取数据。 useEffect钩子在第一次渲染组件和每次后续更新后自动启用。完成后,DOM将被修改。 反应钩子。useEffect可以和两个参数一起使用: useEffect(callback[,dependencies]) callback1表示包含边际效用的函数,在修改DOM后立即调用。第二个参数的dependencies数组可以是任何你想要的。只要渲染之间的依赖关系发生变化,就会调用useEffect()。import{useEffect}from'react';functionWelcomeGreetings({name}){constmsg=`嗨,${name}!`;useEffect(()=>{document.title=`欢迎你${name}`;},[name]);return
