-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNewExpense.js
34 lines (32 loc) · 1011 Bytes
/
NewExpense.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import React,{useState} from 'react';
import './NewForm';
import './NewExpense.css';
import NewForm from './NewForm';
const NewExpense = (props) => {
const [isEditing, setIsEditing] = useState(false);
const saveExpenseDataHandler = (enteredExpenseData) =>{
const expenseData ={
...enteredExpenseData,
id: Math.random().toString
};
props.onAddExpense(expenseData);
setIsEditing(false);
};
const startEditingHandler = () =>
{
setIsEditing(true);
};
const stopEditing =() => {
setIsEditing(false);
}
return(
<div className="new-expense">
{ !isEditing && <button onClick ={startEditingHandler} > Add New Expense</button>}
{isEditing && <NewForm
onSaveExpenseData = {saveExpenseDataHandler}
onCancel ={stopEditing}/>
}
</div>
);
};
export default NewExpense;