我有一个获取项目(对象)列表的反应组件。当我将它传递给孩子时 - 这是一个点燃的元素。它以未定义的形式返回。
我已确保数据正在返回。还尝试对一组对象进行硬编码。仍然没有运气。
TypeError: Cannot read property 'name' of undefined
我似乎无法弄清楚为什么它按定义显示。当我从对象传递单个值时,它可以工作,但是当整个对象传递给子对象时,它是未定义的。
React js 父组件:
const ListExample = () => {
const [pokemons, setPokemons] = useState([]);
useEffect(() => {
getPokemons().then((response) => {
setPokemons(response.data.pokemons);
});
}, []);
return (
<div>
{pokemons.map((item, i) => (
<poke-card key={item.id} item={item}></poke-card>
))}
</div>
);
};
export default ListExample;
儿童 - 点亮元素
import { LitElement, html, css } from "lit-element";
class PokemonCard extends LitElement {
static styles = css`
.card {
background: white;
border-radius: 1rem;
padding: 2rem;
box-shadow: 4px 4px 12px 2px rgba(0, 0, 0, 0.75);
height: 500px;
transition: 0.2s;
}
.card:hover,
.card:focus-within {
transform: translateY(-5rem);
}
`;
static get properties() {
return {
item: { type: Object }
};
}
render() {
const { item } = this;
return html`
<div>
<p>${item.name}</p>
</div>
`;
}
}
customElements.get("poke-card") ||
customElements.define("poke-card", PokemonCard);