Das fragliche Projekt verwendet React-16.2.0, das Fragmente und die Abkürzung "Fragment" verwenden kann.
https://reactjs.org/blog/2017/11/28/react-v16.2.0-fragment-support.html
Während die Syntax in voller Länge gut funktioniert ...
import React, { Fragment, Component } from 'react';
class TestingFragment extends Component {
render() {
return (
<Fragment>
<span>This is a fragment of text </span>
<div>Another part of the fragment</div>
</Fragment>
)
}
};
export default TestingFragment
Die Kurzschrift kompiliert nicht und ich weiß nicht, warum das so ist. Zum Beispiel ...
import React, { Component } from 'react';
class TestingFragment extends Component {
render() {
return (
<>
<span>This is a fragment of text </span>
<div>Another part of the fragment</div>
</>
)
}
};
export default TestingFragment
Was nicht wie folgt kompiliert wird ...
Failed to compile
./src/testingFragments.js
Syntax error: Unexpected token (6:4)
4 | render() {
5 | return (
> 6 | <>
| ^
7 | <span>This is a fragment of text </span>
8 | <div>Another part of the fragment</div>
9 | </>
This error occurred during the build time and cannot be dismissed.
Gibt es hier etwas, was mir an der Abkürzungs-Syntax von Fragment fehlt?
Ich denke das ist ein Grund:
https://reactjs.org/blog/2017/11/28/react-v16.2.0-fragment-support.html#support-for-fragment-syntax
create-React-Apps verwenden derzeit Babel 6.26.0 für die vollständige Unterstützung. React.Fragment wird benötigt Babel v7.0.0-beta.31 und höher
========================= BEARBEITEN
Es arbeitet jetzt mit create -rease-app v2 https://reactjs.org/blog/2018/10/01/create-react-app-v2.html
Die Fragmentsyntax wird nur von Babel v7.0.0-beta.31 und höher unterstützt.