首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有代码更改的情况下响应v18会导致错误,JSX不再接受吗?

在没有代码更改的情况下响应v18会导致错误,JSX不再接受吗?
EN

Stack Overflow用户
提问于 2022-05-28 21:38:36
回答 1查看 356关注 0票数 1

因为React 18,我在呈现应用程序时出现了一些错误,不能像看起来那样嵌套任何元素。例如,我的应用程序中有以下代码:

代码语言:javascript
复制
return (
        <Card>
            <div className={`flex flex-row justify-content-center align-items-center`}>
                {props.icon}
                <h2>{props.text}</h2>
            </div>
            <div className={"flex justify-content-center align-items-center"}>
                <Button onClick={() => props.onButtonClick()} className={"w-2"} label={props.buttonText}/>
            </div>
        </Card>


    );

这段代码可以很好地反应18,现在从18版本开始,我得到了以下错误:

同样,不能再呈现元素数组,同样,以下代码在React17中运行良好:

代码语言:javascript
复制
  <DataTable metaKeySelection={false} selectionMode={"single"} onSelectionChange={e => {
                                setSelection(e.value)
                            }} selection={selection} stripedRows={true} showGridlines={true} size={"small"}
                                       value={artifacts}>
                                {colModels}
                            </DataTable>

现在,由于React18出现了以下问题:

在我看来,使用v18 React,期望在任何地方都有反应节点,而JSX本身就不再被接受了。这些错误一旦我附上了反应片段的元素,这真的是解决这个问题的唯一方法吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-29 11:51:35

是的,反应18确实做了一些改变,我不确定你的第二次发行,但你的第一次发行卡可以这样固定。

只需添加<></>反应片段作为单个子片段即可。

代码语言:javascript
复制
<Card>
   <>
            <div className={`flex flex-row justify-content-center align-items-center`}>
                {props.icon}
                <h2>{props.text}</h2>
            </div>
            <div className={"flex justify-content-center align-items-center"}>
                <Button onClick={() => props.onButtonClick()} className={"w-2"} label={props.buttonText}/>
            </div>
  </>
</Card>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72419441

复制
相关文章

相似问题

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