This article說:在JSX對象文本謹防ESLint規則禁止對象文本中JSX
一旦你的組件變得更「純」,你就開始檢測壞 模式,導致無用的重新渲染。最常見的是JSX中對象文字的使用 ,我喜歡稱其爲「臭名昭着的{{」。讓 我給你舉一個例子:
import React from 'react';
import MyTableComponent from './MyTableComponent';
const Datagrid = (props) => (
<MyTableComponent style={{ marginTop: 10 }}>
...
</MyTableComponent>
)
組件的風格道具每次組件 渲染時間得到一個新的價值。所以即使是純粹的,每次渲染都會渲染出 。事實上,每當你將一個 對象文字作爲道具傳遞給子組件時,就會破壞純度。該 解決方法很簡單:
import React from 'react';
import MyTableComponent from './MyTableComponent';
const tableStyle = { marginTop: 10 };
const Datagrid = (props) => (
<MyTableComponent style={tableStyle}>
...
</MyTableComponent>
)
這看起來非常簡單,但是我已經看到了這個錯誤太多次,我已經>制定感檢測 臭名昭著{{在JSX。我經常用常量替換它。
所以我的問題是,是否有任何規則阻止在jsx中使用對象文字?
我試圖找到一個,但沒有結果。