setState para objetos anidados

Tengo un objeto anidado como estado y tengo un formulario en un componente. Estaba pensando en actualizar el estado cada vez que el usuario ingresaba algo en el formulario y para evitar crear muchas funciones para cada entrada, estaba pensando en crear una sola función usando el interruptor.

¿Es una buena idea crear una sola función con switch?¿Cómo puedo actualizar un solo elemento anidado del objeto?

He intentado con el siguiente código pero no funciona:

class App extends Component {
  constructor(props) {
      super(props)
      this.state = {
        minutes: null,
        interests: {
          business: false,
          code: false,
          design: false
        },
        errors: []
      }
  }

  updatePreferences = (preferenceName, enteredValue) => {
    switch (preferenceName) {
      case preferenceName === "minutes":
        this.setState({minutes: enteredValue})
        return
      case preferenceName === "business":
        this.setState({interests.business: !this.state.interests.business})
        return
      case default:
        return
    }

  }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta