React onDrop function for a task manager
A Person class encapsulates the attributes/methods and logic for the Person object. Currently inherits from Object, but you can at any time extend this logic by creating an new super class or children and distribute the logic between those hierarchies. 

class Person extends Object {
    constructor(props) {
       super
       this.name = props.name
       this.chores = props.chores
    }

    addSubject() {
      if (this.isFound) { return new People().push(person) }
      // your choice to either create a chore class or write some subroutine
      else { person.chores.forEach( chore =&gt; chore.addChore ) }
    }

    // either pass targetPerson as param or add it to the Person object as attribute
    isFound() { this.name !== this.state.targetPerson }

}


people = [ new Person('Grace', 'clean kitchen', 'wash dog'..), etc..]


I also believe the onDrop subroutine should just have the responsibility of dropping person or returning a new people object. It would be an instance method of the People class

class People extends Object {
    drop = () =&gt; {
      this.each( person =&gt; person.addSubject() )
      // etc...
    }

}