有没有办法可以在函数参数中对数据进行解构?
const AgendaItem = ({ item }) => {
const { venue, organiser, startTime, endTime, description } = item;
return (
<View>
<Text>Location: {venue}</Text>
<Text>Consultant: {organiser}</Text>
<Text>Time: {`${startTime} - ${endTime}`}</Text>
<Text>Description: {description || "None"}</Text>
<Text>Description: {description || "None"}</Text>
</View>
);
};
export default AgendaItem;
如果我这样做:
const AgendaItem = ({ venue, organiser /*..etc*/ }) => {
当我undefined
时,我得到return
。
有什么想法吗?
答案 0 :(得分:2)
根据我的理解,item是一个对象并拥有自己的属性。
您可以这样做:
const AgendaItem = ({ item: { venue, organiser, startTime, endTime, description } }) => {
return (
<View>
<Text>Location: {venue}</Text>
<Text>Consultant: {organiser}</Text>
<Text>Time: {`${startTime} - ${endTime}`}</Text>
<Text>Description: {description || "None"}</Text>
<Text>Description: {description || "None"}</Text>
</View>
);
};
export default AgendaItem;
答案 1 :(得分:1)
试试这个
const AgendaItem = ({item: { venue, organiser /*..etc*/ }}) => {
答案 2 :(得分:-1)
const AgendaItem = ({ item }) => { ...
与
相同 const AgendaItem = (arg) => { const item = arg.item; ...
因此,如果您执行const AgendaItem = ({ venue, organiser ...etc }) => {
并且仍然传递了具有item
属性的对象,那么venue
,organiser
和etc
将正确undfined
因为引擎将在参数对象中查找这些属性而不能找到它们。