Skip to content

Instantly share code, notes, and snippets.

@aliblackwell
Created July 1, 2019 14:26
Show Gist options
  • Save aliblackwell/b3ff9f571706816ad16fded59ebfaa2e to your computer and use it in GitHub Desktop.
Save aliblackwell/b3ff9f571706816ad16fded59ebfaa2e to your computer and use it in GitHub Desktop.
Task app with class that changes with state
import React, { useState } from 'react'
import './Task.css';
function Task(props) {
const [task, setTask] = useState(props.content)
const [taskComplete, setTaskComplete] = useState(true)
let taskCompleteClassName = 'Task-status'
if(taskComplete) {
taskCompleteClassName = 'Task-status__complete'
}
function handleSubmitForm(event) {
event.preventDefault()
setTask(event.target[0].value)
}
function toggleTask() {
setTaskComplete(!taskComplete)
}
return (
<section className="Task">
{!task && (
<form onSubmit={handleSubmitForm}>
<label htmlFor="taskname">Task:</label>
<input type="text" name="taskname" />
</form>
)
}
{task && (
<div onClick={ toggleTask } className={taskCompleteClassName}>
<p>Your task:</p>
<p>{ task }</p>
</div>
)}
</section>
)
}
export default Task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment