那是因为style={} 大致相当于转译后的 JS 中的style:。
import React from 'react';
const Navigation = () => {
return (
//navigation 'Sign Out' on top right
<nav style={{display: 'flex', justifyContent: 'flex-end'}}>
<p>Sign Out</p>
</nav>
);
}
export default Navigation;
变成
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const Navigation = () => {
return (
/*#__PURE__*/
//navigation 'Sign Out' on top right
_react.default.createElement("nav", {
style: {
display: 'flex',
justifyContent: 'flex-end'
}
}, /*#__PURE__*/_react.default.createElement("p", null, "Sign Out"))
);
};
var _default = Navigation;
exports.default = _default;
所以用一组大括号,我们说:
React.createElement('nav', { style: display: 'flex', justifyContent: 'flex-end' }) 这是一个语法错误。
带两组大括号:
React.createElement('nav', { style: {display: 'flex', justifyContent: 'flex-end' }})
参考文献