Como atualizar um valor de um objeto aninhado em um redutor?

Eu construí meu estado assim

const list = {
  categories: {
   Professional: {
    active: false,
    names: [
      {
        id: 1,
        name: "Golf",
        active: false
      },
      {
        id: 2,
        name: "Ultimate Frisbee",
        active: false
      }
  ] 
}}

Na minha ação, adicionei uma opção de ID. Gostaria de alterar o status ativo quando o usuário clicar na opção para fazê-lo.

Eu estou usando JS imutável, embora não casado com ele. Eu estou querendo saber como eu poderia direcionar o id do objeto e atualizar seu status ativo em um redutor? Também estou aberto a comentários sobre como melhorar meu estado

questionAnswers(2)

yourAnswerToTheQuestion