我需要找到最后一个索引,如果它是最后一个索引添加一个值.检查代码
const testData = Object.entries(allItems).map((item, index) => { lastItem = testData.length - 1; return ( <div width={lastItem ? '200px' : '50px'} > ... </div> ); }
nukf8bse1#
您缺少key属性。其次,您应该设置style属性。您可以引用从Object.entries生成的条目作为map中的第三个参数;这是所有条目的列表。最后,给你的变量起一个合适的名字。lastItem这个名字会让人混淆它的用途。像isLastItem这样的名字会更好用。请参考下面完整的React示例,查看上述建议的更改。
key
style
Object.entries
map
lastItem
isLastItem
const { Fragment } = React; const allItems = { foo: 1, bar: 2, baz: 3 }; const testData = Object.entries(allItems) .map(([key, value], index, itemsArr) => { let isLastItem = index === itemsArr.length - 1; return ( <div className="item" key={key} style={{ width: isLastItem ? 200 : 50 }} > {value} </div> ); }); const App = () => <Fragment>{testData}</Fragment>; ReactDOM .createRoot(document.getElementById('root')) .render(<App />);
.item { background-color: lightgreen; } .item:last-child { background-color: pink; }
<div id="root"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.development.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.development.js"></script>
width
1条答案
按热度按时间nukf8bse1#
您缺少
key
属性。其次,您应该设置style
属性。您可以引用从
Object.entries
生成的条目作为map
中的第三个参数;这是所有条目的列表。最后,给你的变量起一个合适的名字。
lastItem
这个名字会让人混淆它的用途。像isLastItem
这样的名字会更好用。请参考下面完整的React示例,查看上述建议的更改。
width
的差异。