首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React props(JSX)

React props(JSX)
EN

Stack Overflow用户
提问于 2020-11-23 18:26:36
回答 2查看 42关注 0票数 2

我在React中实现了一个基本的评级组件,不知何故我做到了这一点

代码语言:javascript
复制
const Rating = ( {text},{value}) => {
return (
   <div className='rating'>
    <span>
        <i className={value>=1?'fas fa-star':value>=0.5?'fas fa-star-half-alt':'far fa-star'}></i>
    </span>
    </div>
)}

而不是这个

代码语言:javascript
复制
const Rating = ( {text,value}) => {
return (
   <div className='rating'>
    <span>
        <i className={value>=1?'fas fa-star':value>=0.5?'fas fa-star-half-alt':'far fa-star'}></i>
    </span>
    </div>
)}

谁能告诉我为什么在第一部分中没有处理这个值?

附注:我在react/javascript领域相对较新,所以如果这是一个非常基本的问题,很抱歉。

EN

回答 2

Stack Overflow用户

发布于 2020-11-23 18:39:05

这意味着你期望2对象作为参数。

代码语言:javascript
复制
( {text},{value} ) 

这意味着你需要一个单对象作为参数。

代码语言:javascript
复制
({ text, value }) 

当你创建一个组件时,你通常只需要一个对象参数,我们通常称之为props。

代码语言:javascript
复制
const Component = (props) => {}

如果您希望以这种方式使用组件

代码语言:javascript
复制
<Component text="I am text" value="I am value" />

然后你就可以使用({ text,value })来重构道具了。这相当于

代码语言:javascript
复制
const Component = (props) => {
    const { text, value } = props
}
票数 2
EN

Stack Overflow用户

发布于 2020-11-23 18:30:01

因为这个({text},{value}) != ( {text,value}).

当你这样做的时候,({text,value})就是在破坏道具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64966573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档