我正在映射一个称为Tours的数组
export const tourData = [
{
id: 1,
city: "new york",
img: "./img/newyork.jpeg",
name: "new york bridge tour",
info:
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Vel,repellendus!"
},
如下所示
state={
tours: tourData
}
render(){
const {tours} = this.state;
return(
<section className="tourlist">
{tours.map(tour => {
return (
<Tour key={tour.id} tour={tour} removeTour={this.removeTour}/>
)
})}
</section>
)
}
然后我将游览作为道具传递给“游览”组件。
const {id , city , img, name, info} = this.props.tour;
const {removeTour} = this.props;
webapp运行良好,但是当我对Tour组件进行测试并且将值作为prop传递时
const props ={
id : 1,
city: 'Test City ',
img: 'Test img',
name: 'Test name',
info: 'Test Info'
}
我遇到类似
的错误无法读取未定义的属性“ id”
但是webapp可以正常工作。 需要一些帮助,在此先感谢
答案 0 :(得分:5)
在测试中将值传递给Tour组件的props时,您应该这样做
const props = {
tour: {
id : 1,
city: 'Test City',
img: 'Test img',
name: 'Test name',
info: 'Test Info'
}
};
由于在Tour组件内部,它正在从this.props.tour
中读取。