Skip to content

Commit 156e4b0

Browse files
nihil-pronihil-pro
authored andcommitted
Performance improvement
1 parent d7e9e8c commit 156e4b0

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

frameworks/keyed/preact-kr-observable/src/Main.jsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { render, h } from "preact";
1+
import { render } from "preact";
22
import { observer } from 'kr-observable/preact';
33
import { Row } from './Row';
44
import { rowsStore } from './RowsStore';
5-
import { Fragment } from "preact";
65

76
const Button = ({ children, id, onClick }) => {
87
return (
@@ -83,7 +82,5 @@ function Main() {
8382
);
8483
}
8584

86-
if (typeof window !== "undefined") {
87-
render(<Main />, document.getElementById('main'));
88-
}
85+
render(<Main />, document.getElementById('main'));
8986

frameworks/keyed/preact-kr-observable/src/Row.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ export const Row = observer(function row({ data }) {
66
<tr className={data.selected ? 'danger' : ''}>
77
<td className="col-md-1">{data.id}</td>
88
<td className="col-md-4">
9-
<a id={data.id} onClick={rowsStore.select}>{data.label}</a>
9+
<a id={data.id} onClick={() => rowsStore.select(data.id)}>{data.label}</a>
1010
</td>
1111
<td className="col-md-1">
12-
<a onClick={rowsStore.delete}>
12+
<a onClick={() => rowsStore.delete(data.id)}>
1313
<span
1414
id={data.id}
1515
className="glyphicon glyphicon-remove"
@@ -21,3 +21,4 @@ export const Row = observer(function row({ data }) {
2121
</tr>
2222
);
2323
});
24+

frameworks/keyed/preact-kr-observable/src/RowsStore.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ export class RowsStore extends Observable {
55
static shallow = new Set(['rows'])
66
rows = [];
77

8-
delete(e) {
9-
const rowIndexToDelete = this.rows.findIndex((row) => row.id === +e.target.id);
8+
delete(id) {
9+
const rowIndexToDelete = this.rows.findIndex(row => row.id === id);
1010
this.rows.splice(rowIndexToDelete, 1);
1111
};
1212

@@ -19,13 +19,14 @@ export class RowsStore extends Observable {
1919
};
2020

2121
update() {
22-
for (let i = 0; i < this.rows.length; i += 10) {
22+
const length = this.rows.length;
23+
for (let i = 0; i < length; i += 10) {
2324
this.rows[i].label += ' !!!';
2425
}
2526
};
2627

27-
select(e) {
28-
this.rows.forEach(row => row.selected = row.id === +e.target.id)
28+
select(id) {
29+
this.rows.forEach(row => row.selected = row.id === id)
2930
};
3031

3132
runLots() {
@@ -47,4 +48,5 @@ export class RowsStore extends Observable {
4748
}
4849

4950

50-
export const rowsStore = new RowsStore()
51+
52+
export const rowsStore = new RowsStore()

0 commit comments

Comments
 (0)