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