开发者社区> 问答> 正文

以下代码片段中,为什么使用useEffect是不必要的?

以下代码片段中,为什么使用useEffect是不必要的?

function Form() {  
const [firstName, setFirstName] = useState('Taylor');  
const [lastName, setLastName] = useState('Swift');  
const [fullName, setFullName] = useState('');  
useEffect(() => {  
setFullName(firstName + ' ' + lastName);  
}, [firstName, lastName]);  
// ...  
}

展开
收起
夹心789 2024-05-27 20:21:25 47 0
1 条回答
写回答
取消 提交回答
  • 因为fullName可以根据firstName和lastName在渲染期间直接计算得出。将fullName存储在状态中并通过useEffect来更新它会导致不必要的重新渲染和额外的性能开销。相反,可以直接在渲染期间计算fullName,如下所示:

    function Form() {  
    const [firstName, setFirstName] = useState('Taylor');  
    const [lastName, setLastName] = useState('Swift');  
    const fullName = firstName + ' ' + lastName;  
    // ...  
    }
    
    2024-05-27 21:59:53
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载