添加换行符会破坏JSX。为什么?

伦布朗
const addForm = <Formik> 
  {(props) => (
    <Form>
        (ommited...)
    </Form>
  )}
  </Formik>;

那按预期工作。令我惊讶的是,这个(第一个换行符被禁止)没有

const addForm = <Formik> {(props) => (
    <Form>
        (ommited...)
    </Form>
  )}
  </Formik>;

我懂了 Error: React.Children.only expected to receive a single React element child.

这是预期的行为吗?我怎么理解?

尼古拉斯塔

如果您查看转译的代码,则可以更清楚地看到问题。一个代码产生这个

"use strict";

var addForm = React.createElement(Formik, null, function (props) {
  return React.createElement(Form, null, "(ommited...)");
});

第二代码产生此

"use strict";

var addForm = React.createElement(Formik, null, " ", function (props) {
  return React.createElement(Form, null, "(ommited...)");
});

区别在于在第二种情况下," "孩子还了一个。这意味着Formik组件有两个子级,这是不允许的。

那么原始代码中的多余空间在哪里?这之间的空间<Formik>{(props) => (如果删除它,则两个版本之间的行为相同。代码的第一个示例仅在行首包含空格,在编译时将忽略该空格,但是在行中间的空格很重要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么yaml解释器在80个字符左右添加换行符?

来自分类Dev

如果return和{之间有换行符,JS为什么会引发语法错误

来自分类Dev

为什么回声会产生换行符?

来自分类Dev

为什么我的“ +”运算符被视为换行符?

来自分类Dev

reStructuredText换行符会破坏代码块

来自分类Dev

为什么Make中的`shell`命令会删除换行符?

来自分类Dev

为什么Bash在此处扩展字符串时总是添加换行符?

来自分类Dev

为什么CMD逃脱角色会变魔术而不是逃脱换行符

来自分类Dev

为什么括号内的换行符会更改算术结果?

来自分类Dev

为什么在参数中不存在换行符时会创建换行符?

来自分类Dev

为什么print语句会在python中生成没有换行符的换行符?

来自分类Dev

在JSX表达式中动态添加换行符

来自分类Dev

为什么Scala在有换行符且没有等号的情况下会评估类型别名?

来自分类Dev

为什么IDLE在我的代码后添加换行符?

来自分类Dev

Vim为什么要添加换行符?这是惯例吗?

来自分类Dev

为什么粘贴命令添加换行符?

来自分类Dev

为什么使用命令替换时换行符会丢失?

来自分类Dev

如果return和{之间有换行符,为什么JS会引发语法错误

来自分类Dev

编辑.php文件会添加^ M换行符

来自分类Dev

jQuery append()添加引号和换行符,我不知道为什么

来自分类Dev

Java正则表达式:规范所有转义的或未转义的换行符-为什么会失败?

来自分类Dev

为什么我的“ +”运算符被视为换行符?

来自分类Dev

为什么Windows的换行符比Unix的换行符大?

来自分类Dev

为什么bash脚本中的awk回显会删除换行符?

来自分类Dev

为什么列要在我的行中间添加一个换行符,而原始数据中没有换行符?

来自分类Dev

为什么读取时使用默认的IFS和单个变量添加换行符?

来自分类Dev

为什么bash此处字符串会添加结尾的换行符?

来自分类Dev

为什么换行符被 concat 删除

来自分类Dev

为什么我的 JTextArea 没有从我的字符串中添加换行符?

Related 相关文章

  1. 1

    为什么yaml解释器在80个字符左右添加换行符?

  2. 2

    如果return和{之间有换行符,JS为什么会引发语法错误

  3. 3

    为什么回声会产生换行符?

  4. 4

    为什么我的“ +”运算符被视为换行符?

  5. 5

    reStructuredText换行符会破坏代码块

  6. 6

    为什么Make中的`shell`命令会删除换行符?

  7. 7

    为什么Bash在此处扩展字符串时总是添加换行符?

  8. 8

    为什么CMD逃脱角色会变魔术而不是逃脱换行符

  9. 9

    为什么括号内的换行符会更改算术结果?

  10. 10

    为什么在参数中不存在换行符时会创建换行符?

  11. 11

    为什么print语句会在python中生成没有换行符的换行符?

  12. 12

    在JSX表达式中动态添加换行符

  13. 13

    为什么Scala在有换行符且没有等号的情况下会评估类型别名?

  14. 14

    为什么IDLE在我的代码后添加换行符?

  15. 15

    Vim为什么要添加换行符?这是惯例吗?

  16. 16

    为什么粘贴命令添加换行符?

  17. 17

    为什么使用命令替换时换行符会丢失?

  18. 18

    如果return和{之间有换行符,为什么JS会引发语法错误

  19. 19

    编辑.php文件会添加^ M换行符

  20. 20

    jQuery append()添加引号和换行符,我不知道为什么

  21. 21

    Java正则表达式:规范所有转义的或未转义的换行符-为什么会失败?

  22. 22

    为什么我的“ +”运算符被视为换行符?

  23. 23

    为什么Windows的换行符比Unix的换行符大?

  24. 24

    为什么bash脚本中的awk回显会删除换行符?

  25. 25

    为什么列要在我的行中间添加一个换行符,而原始数据中没有换行符?

  26. 26

    为什么读取时使用默认的IFS和单个变量添加换行符?

  27. 27

    为什么bash此处字符串会添加结尾的换行符?

  28. 28

    为什么换行符被 concat 删除

  29. 29

    为什么我的 JTextArea 没有从我的字符串中添加换行符?

热门标签

归档