delete items

This commit is contained in:
Harmony
2019-10-25 13:46:11 -04:00
parent 406a89db39
commit db72085762
4 changed files with 58 additions and 17 deletions

View File

@@ -9,7 +9,8 @@
"react-redux": "^7.1.1", "react-redux": "^7.1.1",
"react-scripts": "3.2.0", "react-scripts": "3.2.0",
"redux": "^4.0.4", "redux": "^4.0.4",
"redux-thunk": "^2.3.0" "redux-thunk": "^2.3.0",
"uuid": "^3.3.3"
}, },
"scripts": { "scripts": {
"start": "react-scripts start", "start": "react-scripts start",

View File

@@ -1,26 +1,54 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import Item from '../Items/Items.js'; import Item from '../Items/Items.js';
import NewItem from '../NewItem/NewItem.js' import NewItem from '../NewItem/NewItem.js'
import uuid from "uuid";
export default function Cards({}) { export default function Cards({}) {
const [item, setItem] = useState(['']); const [item, setItem] = useState([
{
title: "item 1",
completed: true,
id: uuid.v4()
},
{
title: "item 2",
completed: true,
id: uuid.v4()
},
{
title: "item 3",
completed: false,
id: uuid.v4()
}
]);
const addItem = title => { const addItem = title => {
const newItem = [...item, {title, completed: false}]; const newItem = [...item, {title, completed: false, id: uuid.v4()}];
setItem(newItem) setItem(newItem)
} }
const deleteItem = id => {
const deleted = item.reduce((acc, current) => {
if(current.id !== id){
return [...acc, current];
}
return [...acc, {...current, completed: true}]
}, [])
setItem(deleted)
}
return ( return (
<div> <>
{item.map((item, index) => ( {item.map((i, index) => (
<Item <div key={i.id}>
item={item} <Item
index={index} item={i}
key={index} index={index}
/> />
))} <button onClick={() => deleteItem(i.id) }>x</button>
<NewItem addItem={addItem} /> </div>
</div> ))}
) <NewItem addItem={addItem} />
} </>
)
}

View File

@@ -0,0 +1,12 @@
import React, {useState} from 'react';
export default function DeleteItem({ deleteItem }) {
const handleClick = e => {
deleteItem(value);
setValue("");
}
return (
<button onClick={handleClick}>x</button>
)
}

View File

@@ -10045,7 +10045,7 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
uuid@^3.0.1, uuid@^3.3.2: uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3:
version "3.3.3" version "3.3.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==