現時点では、RESTエンドポイントからオブジェクトの配列をマッピングしているため、配列内のオブジェクトの一部に特定の小道具がないため、Reactでエラーが発生しています。小道具がある場合ReactJS
私のオブジェクトの中にはimages
と呼ばれる別のオブジェクトがあり、そうでないものがあります。私のReactコンポーネントがimages
を使わないでオブジェクトをレンダリングしようとすると、私はエラーが残っています。しかし、これは私のオブジェクトのいくつかは、このオブジェクトが使用できていないと失敗しますが、私はprops.vehicle.offers[0].image.name
の小道具でimg
要素を持って見ることができるように
const VehicleDetail = (props) => {
return (
<div className={"col-flex-md-3 col-flex-sm-4 col-flex-xs-6 col-flex-media-query vehicle-item " + props.vehicle.brand.name} data-value={props.vehicle.brand.name}>
<div className="vehicle-container">
<img src={"https://s3-eu-west-1.amazonaws.com/pulman-vw-images/uploads/images/thumbnails/" + props.vehicle.offers[0].image.name} />
<h4 className="vehicle-title">
{props.vehicle.model.name}
</h4>
<div className="row-flex">
<div className="col-flex-xs-12 btn-container">
<a href={"http://beaver" + props.vehicle.brand.name + ".co.uk/new/cars/" + props.vehicle.slug} target="_blank" className="learn-more-btn">Learn More</a>
</div>
</div>
</div>
</div>
);
};
:ここ
は私の小道具をレンダリング私のコンポーネントであります。ここで<img src={"https://s3-eu-west-1.amazonaws.com/pulman-vw-images/uploads/images/thumbnails/" + {if (typeof props.vehicle.offers[0].image.name == "object") { props.vehicle.offers[0].image.name }}} />
は私のコンポーネントである各オブジェクトを反復処理し、私のVehicleDetailにそれらをレンダリングする:これまでのところ、私は、オブジェクトが最初に存在していたかどうかを確認するだけで、条件付きインラインを追加しようとしている
は、しかし、これはエラーで失敗しましたコンポーネント:
// Vehicle List Component
import VehicleDetail from './vehicle-detail.js';
// Create our component
const VehicleList = (props) => {
// Just add props.vehicle to access API data instead of static
const RenderedVehicles = props.vehicles.map(vehicle =>
<VehicleDetail key={vehicle.slug} vehicle={vehicle} />
);
return (
<div className="row-flex center-xs">
{RenderedVehicles}
{console.log(props.brandSelect)}
</div>
);
};
リアクションJSのベストプラクティスはこれを行うことですか?ありがとう