2 回答

TA貢獻1998條經驗 獲得超6個贊
組件與元素<App>一起呈現。<List items={items} />
React 調用List組件{items: [{text:'john'}, {text:'smith'}]}作為 props。
所以,如果你這樣做:
const List = ( props ) => {
console.log(props)
}
你會看到{items: [{text:'john'}, {text:'smith'}]}。因此,我們需要在這里使用對象解構,例如:
const List = ( {items} ) => {
return items.map(({text}, key) => <div key={key}>{text}</div>);
}
得到想要的結果?;蛘?,您可以將其放在一行中,例如:
const List = ({items}) => items.map(({text},key) => <div key={key}>{text}</div>);
分享
編輯
跟隨

TA貢獻1797條經驗 獲得超6個贊
當您使用該<Component />語法時,您的函數組件將接收一個props參數,該參數包含您綁定到該組件的屬性。你應該使用props.items:
const List = (props) => {
const {items}=props;
return items.map((item, key) => <div key={key}> {item.text}</div>);
}
您也可以直接解構 props 參數:
const List = ({items}) => {
return items.map((item, key) => <div key={key}> {item.text}</div>);
}
另一種方法是將函數組件調用綁定到模板中:
<div>
{List(items)}
</div>
通過這樣做,該items屬性將不會被包裝在一個props對象中。
添加回答
舉報