Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 何时使用React.Fragments?_Javascript_Reactjs_React Fragment - Fatal编程技术网

Javascript 何时使用React.Fragments?

Javascript 何时使用React.Fragments?,javascript,reactjs,react-fragment,Javascript,Reactjs,React Fragment,我刚学会了反应碎片 我知道片段通过创建更少的树节点稍微更有效,并且在查看inspector时更干净,但是为什么我们要在React组件中用作容器呢?我们应该总是在组件中使用React.Fragments吗 使用片段是否会使造型更加困难?(我不确定,因为我自己还没有试过) 在大多数常见实践中,React只允许渲染单个元素。如果要渲染多个元素,可以使用或将其包围 碎片情况示例: Fragment最重要的用法之一是在标记中(如官方网站的示例中所述),如果您想在一个元素中呈现多个行,您可能会发现不可能将它

我刚学会了反应碎片

我知道片段通过创建更少的树节点稍微更有效,并且在查看inspector时更干净,但是为什么我们要在React组件中用作容器呢?我们应该总是在组件中使用React.Fragments吗


使用片段是否会使造型更加困难?(我不确定,因为我自己还没有试过)

在大多数常见实践中,React只允许渲染单个元素。如果要渲染多个元素,可以使用
将其包围

碎片情况示例: Fragment最重要的用法之一是在
标记中(如官方网站的示例中所述),如果您想在一个元素中呈现多个
行,您可能会发现不可能将它们环绕
,因为在标记中只能有
元素

好的,在另一种情况下,我建议始终使用单元素渲染,除非您必须这样做。

使用
在我看来是不好的做法

我建议仅当您要求将子元素放置在父元素中时才使用
。否则,它是毫无意义的/多余的html,只是不需要

例如,我们有一个与Div元素关联的类名


托运人你好
你好,伙计
你好,朋友
你好,穆卡
你好,吉萨
你好,伙计
我不建议使用下面的示例,因为Div元素除了可读性之外没有任何用途


托运人你好
你好,伙计
你好,朋友
你好,穆卡
你好,吉萨
你好,伙计
托运人你好
你好,伙计
你好,朋友
你好,穆卡
你好,吉萨
你好,伙计
如果需要返回多个不需要父元素的元素,可以使用这种方法

import React, { Fragment } from 'react'

const names = ['Shippers', 'Matey', 'Pal', 'Mucka', 'Geeza', 'Dude']

export const Headers = () => (
  <Fragment>{names.map(name => <h1>{`Hello ${name}`}</h1>)}</Fragment>
)
import React,{Fragment}来自“React”
const name=['托运人'、'伙伴'、'木卡'、'吉萨'、'都德']
导出常量头=()=>(
{names.map(name=>{`Hello${name}`})
)
然后可以将其导入到任意位置的渲染器中

import React from 'react'
import { Headers } from './Headers'

export const Body = () (
  <body>
    <Headers />
  </body>
)

从“React”导入React
从“./Headers”导入{Headers}
导出常量体=()(
)
这将传输到


托运人你好
你好,伙计
你好,朋友
你好,穆卡
你好,吉萨
你好,伙计

React.Fragments
是仅在React v16.2.0中添加的一项非常新的功能,因此在尝试使用此功能时,请注意您的React版本。虽然我不认为样式设计会是一个很大的问题,但是如果您想返回更多的子元素,但实际上不想用父元素围绕它们,那么它就不需要总是用
嵌套单独的组件。不,造型不会很难…谢谢。正如我目前所看到的,如果我不需要
容器,那么我可以轻松地互换使用片段,没有太大的差异(假设我使用的是正确的版本)。