热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

React代码的使用方法教程

本篇内容介绍了“React代码的使用方法教程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如

本篇内容介绍了“React代码的使用方法教程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 仅对一个条件进行渲染

如果需要在条件为 true 时渲染某些内容,而在条件为 false 时不渲染任何内容,不要使 三元表达式,请改用 &&。

?‍♂️ 不推荐示例:

import React, { useState } from 'react'  export const ConditionalRenderingWhenTrueBad = () => {   const [showConditionalText, setShowConditionalText] = useState(false)    const handleClick = () =>     setShowConditionalText(showConditionalText => !showConditionalText)    return (     
       Toggle the text       {/* 三元表达式 */}       {showConditionalText ? 

条件为 True!

 : null}      
   ) }

? 推荐示例:

import React, { useState } from 'react'  export const ConditionalRenderingWhenTrueGood = () => {   const [showConditionalText, setShowConditionalText] = useState(false)    const handleClick = () =>     setShowConditionalText(showConditionalText => !showConditionalText)    return (     
       Toggle the text       {showConditionalText && 

条件为 True!

}     
   ) }

2. 每一个条件都进行渲染

如果需要在条件为 true 时渲染某些内容,而在条件为 false 时渲染其他内容。使用三元表达式!

?‍♂️ 不推荐的示例:

import React, { useState } from 'react'  export const ConditionalRenderingBad = () => {   const [showConditionOneText, setShowConditionOneText] = useState(false)    const handleClick = () =>     setShowConditionOneText(showConditionOneText => !showConditionOneText)    return (     
       Toggle the text       {/* 条件 True 和 False 都要渲染内容 */}       {showConditionOneText && 

条件为 True!

}       {!showConditionOneText && 

条件为 Flase!

}     
   ) }

? 推荐示例:

import React, { useState } from 'react'  export const ConditionalRenderingGood = () => {   const [showConditionOneText, setShowConditionOneText] = useState(false)    const handleClick = () =>     setShowConditionOneText(showConditionOneText => !showConditionOneText)    return (     
       Toggle the text       {showConditionOneText ? (         

The condition must be true!

       ) : (         

The condition must be false!

       )}     
   ) }

3. Boolean props

Props 值为 true 的推荐省略不写。

?‍♂️ 不推荐示例:

import React from 'react'  const HungryMessage = ({ isHungry }) => (   {isHungry ? 'I am hungry' : 'I am full'} )  export const BooleanPropBad = () => (   
            This person is hungry:                            This person is full:              
 )

? 推荐示例:

import React from 'react'  const HungryMessage = ({ isHungry }) => (   {isHungry ? 'I am hungry' : 'I am full'} )  export const BooleanPropGood = () => (   
            This person is hungry:           {/* 不需要赋值 true,省略 */}                      This person is full:              
 )

4. String props

Props 值为 String, 使用双引号,不使用花括号或反引号。

?‍♂️ 不推荐示例:

import React from 'react'  const Greeting = ({ personName }) => 

Hi, {personName}!

  export const StringPropValuesBad = () => (   
                  
 )

? 推荐示例:

import React from 'react'  const Greeting = ({ personName }) => 

Hi, {personName}!

  export const StringPropValuesGood = () => (   
                  
 )

5. Event handler functions

如果一个事件函数只接受一个参数,不需要传入匿名函数:OnChange={e=>handleChange(e)},推荐这种写法:OnChange={handleChange}  。

?‍♂️ 不推荐示例:

import React, { useState } from &#39;react&#39;  export const UnnecessaryAnonymousFunctionsBad = () => {   const [inputValue, setInputValue] = useState(&#39;&#39;)    const handleChange = e => {     setInputValue(e.target.value)   }    return (     <>       Name:        {/* 事件只有一个参数,不需要匿名函数*/}        handleChange(e)} />        ) }

? 推荐示例:

import React, { useState } from &#39;react&#39;  export const UnnecessaryAnonymousFunctionsGood = () => {   const [inputValue, setInputValue] = useState(&#39;&#39;)    const handleChange = e => {     setInputValue(e.target.value)   }    return (     <>       Name:                ) }

6. components as props

将组件作为参数传递给另一个组件时,如果该组件不接受任何参数,则无需将该传递的组件包装在函数中。

?‍♂️ 不推荐示例:

import React from &#39;react&#39;  const CircleIcon = () => (   Click me )  const ButtonTwo = ({ handleClick }) => {   const noop = () => {}    return Click me }  export const UndefinedPropsBad = () => (   
           alert(&#39;Clicked!&#39;)} />           alert(&#39;Clicked!&#39;)} />   
 )

? 推荐示例:

import React from &#39;react&#39;  const ButtonOne = ({ handleClick }) => (   Click me )  export const UndefinedPropsGood = () => (   
           alert(&#39;Clicked!&#39;)} />   
 )

8. 设置 state 依赖先前的 state

如果新 state 依赖于先前 state,则始终将 state 设置为先前 state 的函数。可以批处理 React 状态更新。

?‍♂️ 不推荐示例:

import React, { useState } from &#39;react&#39;  export const PreviousStateBad = () => {   const [isDisabled, setIsDisabled] = useState(false)    const toggleButton = () => setIsDisabled(!isDisabled)    const toggleButton2Times = () => {     for (let i = 0; i < 2; i++) {       toggleButton()     }   }    return (     
                I&#39;m {isDisabled ? &#39;disabled&#39; : &#39;enabled&#39;}              Toggle button state       Toggle button state 2 times     
   ) }

? 推荐示例:

import React, { useState } from &#39;react&#39;  export const PreviousStateGood = () => {   const [isDisabled, setIsDisabled] = useState(false)    {/* 推荐设置为函数 */}   const toggleButton = () => setIsDisabled(isDisabled => !isDisabled)    const toggleButton2Times = () => {     for (let i = 0; i < 2; i++) {       toggleButton()     }   }    return (     
                I&#39;m {isDisabled ? &#39;disabled&#39; : &#39;enabled&#39;}              Toggle button state       Toggle button state 2 times     
   ) }

“React代码的使用方法教程”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!


推荐阅读
author-avatar
mobiledu2502861465
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有