Boa noite, estava seguindo as aulas, mas quando cheguei na parte do colaboradores.filter não é mostrado mais nada na página e no console afirma que não existe uma função chamada filter, porém ao tirar o filter e deixar somente colaboradores ele volta a funcionar e posso colocar o filter novamente.
Além disso, mesmo setando as entradas do formulário para vazias elas permanecem aparecendo mesmo vazias, e caso eu clique em adicionar novamente ela cria um colaborador vazio.
App.js
import { useState } from 'react';
import Banner from './components/Banner';
import Formulario from './components/Formulario';
import Time from './components/Time';
function App() {
const times = [
{
nome: 'Programação',
corPrimaria: '#57C278',
corSecundaria: '#D9F7E9'
},
{
nome: 'Front-End',
corPrimaria: '#82CFFA',
corSecundaria: '#E8F8FF'
},
{
nome: 'Data Sciense',
corPrimaria: '#A6D157',
corSecundaria: '#F0F8E2'
},
{
nome: 'Devops',
corPrimaria: '#E06B69',
corSecundaria: '#FDE7E8'
},
{
nome: 'UX e Design',
corPrimaria: '#D86EBF',
corSecundaria: '#FAE5F5'
},
{
nome: 'Mobile',
corPrimaria: '#FEBA05',
corSecundaria: '#FFF5D9'
}
]
const [colaboradores, setColaboradores] = useState('')
const aoNovoColaboradorCadastrado = (colaborador) => {
setColaboradores([...colaboradores, colaborador])
}
return (
<div className="App">
<Banner/>
<Formulario time={times.map(time => time.nome)} aoColaboradorCadastrado={colaborador => aoNovoColaboradorCadastrado(colaborador)}/>
{times.map(time => <Time
nome={time.nome}
corPrimaria={time.corPrimaria}
corSecundaria={time.corSecundaria}
colaboradores={colaboradores.filter(colaborador => colaborador.time === time.nome)}
/>)}
</div>
);
}
export default App;
Time.js
import Colaborador from '../Colaborador'
import './Time.css'
const Time = (props) => {
return (
props.colaboradores.length > 0 && <section className="time" style={{backgroundColor: props.corSecundaria}}>
<h3 style={{borderColor: props.corPrimaria}}>{props.nome}</h3>
<div className='colaborador'>
{props.colaboradores.map(colaborador => <Colaborador nome={colaborador.nome} cargo={colaborador.cargo} imagem={colaborador.imagem}/>)}
</div>
</section>
)
}
export default Time
Colaborador.js
import './Colaborador.css'
const Colaborador = ({nome, cargo, imagem}) => {
return (
<section className='colaborador'>
<div className='cabecalho'>
<img src={imagem} alt={nome}/>
</div>
<div className='rodape'>
<h4>{nome}</h4>
<h5>{cargo}</h5>
</div>
</section>
)
}
export default Colaborador
Aqui como fica se do f5 com o filter ![]( )