Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não consegui realizar o .filter, após inserir no codigo ele quebrou

Não consegui idenficar onde estou errando

 const [players,setPlayers] = useState([])

  const newPlayer = (player)=>{
    setPlayers([...players, player])
  }

  return (
    <div className="App">
      <Banner />
      <Form times = {times.map(time => time.nome)} playerCadastrado={player => newPlayer(player)}/>

      {times.map(time => <Time 
        key={time.nome} 
        nome={time.nome} 
        corPrimaria ={time.corPrimaria} 
        corSecundaria={time.corSecundaria}
        players={players.filter(player => player.time === time.nome)}
        />)}
    </div>
  );
}

Player seria o component Colaborador

import Player from '../Player';
import './Time.css'

const Time = (props) => {


    return(
        <section className='time' style={{ backgroundColor: props.corSecundaria }}>
            <h3 style={{ borderColor: props.corPrimaria }}>{props.nome}</h3>
            <div className='players'>
                {props.players.map(player => <Player nome={player.nome} funcao={player.funcao} imagem={player.imagem} />)}
            </div>
        </section>
    )

}

export default Time;

Tenho o código completo em meu github: https://github.com/FelipeJorge/Organo-Project

2 respostas
solução!

Salve, Felipe!

É um ajuste pequeno:

players.filter(player => player.mapa === time.nome)

Você chamou, no Formulario, essa propriedade de mapa ao invés de time:

    const [mapa , setMapa] = useState ("")
                <DropDownList 
                    obrigatorio={true} 
                    label="Qual mapa deseja jogar" 
                    itens={props.times}
                    valor={mapa}
                    alterado={valor => setMapa(valor)}
                />

Muito obrigado Vinicios