Prettier 与 ? 冲突。 (问号和点)在 typescript-react 内的 prop-brackets 有语法错误
Prettier conflicts with ?. (question mark and dot) in typescript-react inside of prop-brackets with syntax error
表达式
<Button
title={props.children?.toString()}
buttonStyle={$.buttonStyle}
titleStyle={$.titleStyle}
/>
给出下一个错误
SyntaxError: Expression expected.
title={props.children?.toString()}
^
有什么办法可以解决吗?
Eslint with prettier-plugin 给出了同样的错误。
解析器问题-typescript.js
您可能需要更新 typescript-eslint
插件。
问题出在新版本的 Prettier 4.5.0
如果您将 prettier 降级到 v4.0.0 - 您的问题将会崩溃:)
如果您的 Prettier 版本已过时,它可能不支持 Version 1.19 中引入的可选链接。如果 prettier
没有在您的 package.lock
中保存为 "devDependency"
,那么您的 IDE 将默认使用 prettier
的任何全局模块。推荐使用项目本地依赖中的prettier
要将 prettier 保存为 devDependency,运行:
npm install prettier -D --save-exact
Typescript 于 2019 年 10 月通过 版本 3.7 引入了可选链接,然后 Prettier 于 2019 年 11 月通过 Version 1.19.
引入了它。
表达式
<Button
title={props.children?.toString()}
buttonStyle={$.buttonStyle}
titleStyle={$.titleStyle}
/>
给出下一个错误
SyntaxError: Expression expected.
title={props.children?.toString()}
^
有什么办法可以解决吗?
Eslint with prettier-plugin 给出了同样的错误。
解析器问题-typescript.js
您可能需要更新 typescript-eslint
插件。
问题出在新版本的 Prettier 4.5.0
如果您将 prettier 降级到 v4.0.0 - 您的问题将会崩溃:)
如果您的 Prettier 版本已过时,它可能不支持 Version 1.19 中引入的可选链接。如果 prettier
没有在您的 package.lock
中保存为 "devDependency"
,那么您的 IDE 将默认使用 prettier
的任何全局模块。推荐使用项目本地依赖中的prettier
要将 prettier 保存为 devDependency,运行:
npm install prettier -D --save-exact
Typescript 于 2019 年 10 月通过 版本 3.7 引入了可选链接,然后 Prettier 于 2019 年 11 月通过 Version 1.19.
引入了它。