这个没有意义......
之后,ESLint正在抱怨新线(第11行)。
如果我把它拿走并将Provider组件放在同一行,并从第12和13行(App组件和关闭Provider标签)中取出一个标签,那么它会抱怨:
预期结束标记以匹配开口缩进。 (反应/ JSX闭标签的位置)
如果我将它缩进到开始标记的级别,现在开始16个字符因为我必须删除新行,我得到另一个错误:预期缩进0空格字符但找到16.(react / jsx-indent)
使用适用于ESLint和AirBNB规范的React / Redux是否有正确的语法?
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import './index.css';
import App from './components/App';
import registerServiceWorker from './registerServiceWorker';
import configureStore from './state/store/configureStore';
window.store = configureStore();
ReactDOM.render(
<Provider store={window.store}>
<App />
</Provider>, document.getElementById('root'));
registerServiceWorker();
似乎airbnb使用function-paren-newline: 'multiline'
作为规则,这意味着它应该通过:
ReactDOM.render(
<Provider store={window.store}>
<App />
</Provider>,
document.getElementById('root')
);
我想你只需要在一个单独的行上提出每个论点。
更新:请参阅eslint.org上的demo of the rule passing/failing
在下一个示例中失败,createDevTools fn:
eslint:function-paren-newline'('后面的意外换行符。
eslint:function-paren-newline')之前的意外换行符。
import React from 'react';
import { createDevTools } from 'redux-devtools';
import DockMonitor from 'redux-devtools-dock-monitor';
import LogMonitor from 'redux-devtools-log-monitor';
import SliderMonitor from 'redux-slider-monitor';
export default createDevTools(
<DockMonitor defaultIsVisible="true" toggleVisibilityKey="ctrl-h" changePositionKey="ctrl-w" changeMonitorKey="ctrl-m">
<LogMonitor />
<SliderMonitor keyboardEnabled />
</DockMonitor>
);