task done
This commit is contained in:
38
labs/lab4/src/Task.jsx
Normal file
38
labs/lab4/src/Task.jsx
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
import { useState } from "react";
|
||||||
|
const ClickableEntry = (props)=>{
|
||||||
|
const [clickCount,updateClickCount] = useState(0)
|
||||||
|
|
||||||
|
const clickHandler = (event)=>{
|
||||||
|
updateClickCount(clickCount+1);
|
||||||
|
props.updateTotoal();
|
||||||
|
}
|
||||||
|
|
||||||
|
return(
|
||||||
|
<li onClick={clickHandler}>{props.text}{clickCount>0 && `(${clickCount})`}</li>
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const Task = (props)=>{
|
||||||
|
const [totalClickCount,updateTotalClickCount] = useState(0)
|
||||||
|
const addOne =()=>{
|
||||||
|
updateTotalClickCount(totalClickCount+1);
|
||||||
|
}
|
||||||
|
const books = ['Мастер и Маргарита',
|
||||||
|
'Белая гвардия',
|
||||||
|
'Война и мир',
|
||||||
|
'Анна карненина',
|
||||||
|
'Игрок',
|
||||||
|
]
|
||||||
|
return(
|
||||||
|
<>
|
||||||
|
<ul>
|
||||||
|
{books.map((x,i)=><ClickableEntry text={x} key={i} updateTotoal={addOne}/>)}
|
||||||
|
</ul>
|
||||||
|
<p>Totoal:{totalClickCount}</p>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default Task;
|
||||||
Reference in New Issue
Block a user