React-Callback报错:Arguments are not aligned,语法问题求助
解决“arguments are not aligned”风格错误
嘿,先给你吃个定心丸:你的代码语法完全没问题,这个错误是代码风格校验工具(比如ESLint)抛出的代码规范问题,不是语法写错了~
问题原因
你遇到的“arguments are not aligned”错误,本质是工具要求函数的多个参数在换行后保持对齐,而你当前的setState调用中,第二个参数(箭头函数)和第一个参数的排版没符合工具的对齐规则。
几种快速解决方法
方法1:调整参数换行对齐
把setState的两个参数分别换行,和函数括号对齐,这样就能满足对齐要求:
private function(event: any) { this.setState( { variable123: event.target.value }, () => { this.function(); } ); }
方法2:简化箭头函数写法
如果你的箭头函数体只有一行代码,可以省略大括号,直接写在同一行,既简洁又能避免对齐问题:
private function(event: any) { this.setState({ variable123: event.target.value }, () => this.function()); }
方法3:修改风格校验规则
如果你不想调整代码写法,可以修改ESLint的配置(比如项目根目录的.eslintrc.js或.eslintrc.json),关闭或调整对应的对齐规则:
{ "rules": { // 关闭函数参数换行要求 "function-paren-newline": "off", // 或者调整缩进规则,适配你的写法 "indent": ["error", 2, { "FunctionExpression": { "parameters": "first" } }] } }
总结
这个问题核心是代码风格工具的校验要求,不是语法错误,你可以根据自己的代码习惯选上面任意一种方案解决~
内容的提问来源于stack exchange,提问作者sleepysimon
相关产品推荐
相关产品推荐

