Skip to content

Commit 4829034

Browse files
author
lucifer
committed
feat: 增加key
1 parent 5e32844 commit 4829034

File tree

4 files changed

+41
-16
lines changed

4 files changed

+41
-16
lines changed

‎.eslintrc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"rules": {
3+
"quotes": ["error", "double"]
4+
}
5+
}

‎src/App.js

+18-8
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,17 @@ const columns = [
4444
dataIndex: "tags",
4545
key: "tags",
4646
render: (tags) => (
47-
<>
47+
<div>
4848
{tags.map((tag) => {
49-
return <TagOrLink text={tagMapper[tag.id].text} link={tag.link} />;
49+
return (
50+
<TagOrLink
51+
key={tag.id}
52+
text={tagMapper[tag.id].text}
53+
link={tag.link}
54+
/>
55+
);
5056
})}
51-
</>
57+
</div>
5258
),
5359
},
5460
];
@@ -73,13 +79,13 @@ function App() {
7379
{show ? (
7480
<Tabs defaultActiveKey="0">
7581
<TabPane tab="前置知识" key="0">
76-
{problems[problemId].pre.map(({ link, text }) => (
77-
<TagOrLink text={text} link={link} />
82+
{problems[problemId].pre.map(({ id, link, text }) => (
83+
<TagOrLink key={id} text={text} link={link} />
7884
))}
7985
</TabPane>
8086
<TabPane tab="关键点" key="1">
81-
{problems[problemId].keyPoints.map(({ link, text }) => (
82-
<TagOrLink text={text} link={link} />
87+
{problems[problemId].keyPoints.map(({ id, link, text }) => (
88+
<TagOrLink key={id} text={text} link={link} />
8389
))}
8490
</TabPane>
8591
<TabPane tab="题解" key="2">
@@ -95,7 +101,11 @@ function App() {
95101
<TabPane tab="代码" key="3">
96102
<div className="code-block">
97103
{problems[problemId].code.map((c) => (
98-
<div className="row" style={{ marginTop: "10px" }}>
104+
<div
105+
key={c.language}
106+
className="row"
107+
style={{ marginTop: "10px" }}
108+
>
99109
<span className="language language-js">{c.language}</span>
100110
<Button
101111
type="primary"

‎src/App.test.js

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
import React from 'react';
2-
import { render } from '@testing-library/react';
3-
import App from './App';
1+
import React from "react";
2+
import { render } from "@testing-library/react";
3+
import App from "./App";
44

5-
test('renders learn react link', () => {
6-
const { getByText } = render(<App />);
7-
const linkElement = getByText(/learn react/i);
8-
expect(linkElement).toBeInTheDocument();
5+
test("#cold hello world", () => {
6+
expect(true).toBe(true);
7+
});
8+
9+
test("#hot hello world", () => {
10+
expect(false).toBe(true);
11+
});
12+
13+
test("#cold hello world", () => {
14+
expect(true).toBe(true);
915
});

‎src/setupTests.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,8 @@
22
// allows you to do things like:
33
// expect(element).toHaveTextContent(/react/i)
44
// learn more: https://github.com/testing-library/jest-dom
5-
import '@testing-library/jest-dom/extend-expect';
5+
import "@testing-library/jest-dom/extend-expect";
6+
7+
Object.defineProperty(window, "chrome", {
8+
value: {},
9+
});

0 commit comments

Comments
 (0)