Привет!
Не могу понять почему не обновляются стили через
styled-component
.
Код такой:
Родитель, возвращает список элементов во время запроса в API:
class PokeCont extends Component {
shouldComponentUpdate(nextProps) {
if (this.props.pokemons !== nextProps.pokemons) {
return true;
}
}
render() {
return (
<PokeContainer>
{ this.props.pokemons.map(pokemon => <PokeCard key={pokemon.id} {...pokemon} />) }
</PokeContainer>
);
}
}
Потомок родителя PokeCont:
import { Name } from './styles/PokeStyles';
const PokeCard = ({id, name, type}) => {
return (
<Card>
<Name name={name}>
{name.toUpperCase()}
</Name>
</Card>
);
};
Стили для :
import styled from 'styled-components';
export const Name = styled.p`
border: 1px solid yellow;
background-color: ${(props) =>
props.name ? 'black' : 'pink'}
`;
На мой взгляд, каждый раз когда отрисовывается потомок, он должен обновлять свою props тем самым дергая styled-component и обновляя стили, но этого не происходит и я не могу понять почему. Хелп!