首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >那是什么类型的组件初始化?

那是什么类型的组件初始化?
EN

Stack Overflow用户
提问于 2019-12-30 04:52:01
回答 4查看 63关注 0票数 2

我是反应的初学者。我想知道在下面的Post组件中是什么样的初始化?这是函数吗?为什么没有声明函数或呈现函数的大括号{}?

我需要更详细地理解代码,这样我就可以根据我的需求来修改它。如何向其添加参数并根据特定id返回post。

代码语言:javascript
复制
import React from "react"
import Async from "react-async"

const loadPosts = () =>
 fetch('https://jsonplaceholder.typicode.com/posts')
    .then(res => (res.ok ? res : Promise.reject(res)))
    .then(res => res.json())

const Posts = () => (
  <Async promiseFn={loadPosts}>
    {({ data, error, isLoading }) => {
      if (isLoading) return <div>Fetching data... Please Wait</div>

      if (error) return <div>Something went wrong: ${error.message}</div>

      if (data){
          const responseData = data.map((post)=>{
            return(
              <div>
               <p> {post.title} </p>
               <hr />
               <h1> {post.body} </h1>
              </div>
            )
          })
        return(
          <div>
           {responseData}
          </div>
        )
       }
      return null
    }}
  </Async>

)

export default Posts
EN

回答 4

Stack Overflow用户

发布于 2019-12-30 06:57:21

这是一个“胖”箭头函数表达式。这是一个ES6特性:https://codeburst.io/javascript-arrow-functions-for-beginners-926947fc0cdc

需要注意的几件事情(以及其他事情)是,没有"this“的绑定,函数表达式也没有像函数声明那样被提升。

票数 2
EN

Stack Overflow用户

发布于 2019-12-30 05:32:38

这是一个正常的功能组件。如果只是返回没有任何语句的内容,则不需要箭头函数的大括号。

代码语言:javascript
复制
const sum = (a, b) => a + b;

上面的箭头函数将a和b的和返回为sum。功能组件也是如此。

票数 1
EN

Stack Overflow用户

发布于 2019-12-30 05:40:11

这是一个反应组合的概念,看看它的这里

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

https://stackoverflow.com/questions/59525863

复制
相关文章

相似问题

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