具有接受某些道具的组件的:
<MyComponent first="first" second="second" third="third" />
我们可以创建一个对象:
const mockData = {
first: 'test1',
second: 'test2',
third: 'test3'
};
并以下列方式将其用作道具:<MyComponent {...mockData} />
而且它工作得很好。
我想要的是只使用mockData
对象中的前两个元素,因为它们都不是必需的/强制的,这应该不是问题。
所以我试过这样:<MyComponent {...mockData.first, ...mockData.second} />
,但它不工作。
当然,它可以写成<MyComponent first={mockData.first} second={mockData.second} />
,但这只是一个例子,元素很少,因为我的真实的问题有更多的元素。
有没有办法做到这一点?
3条答案
按热度按时间qltillow1#
您必须创建一个派生自模拟数据的类型,如下所示:
u3r8eeie2#
您可以使用对象扩散语法:
既然你说你有更多的属性,你可以提取尽可能多的属性,你想通过简单地包括他们之前的解构,例如:
bjp0bcyl3#
这应该对你有用