Я пытаюсь создать реагирующий элемент из Feature в Typescript, но безуспешно. (Я использую реагирующую листовку + Typescript) С обычным js мне просто нужно сделать что-то подобное:
<Map
{...}
<GeoJSON
data={...} <- Here I put my feature in JSON format
style={...} <- Associated style
/>
/>
Но в Typescript, если я пытаюсь сделать то же самое, я встречается следующая ошибка:
No overload matches this call.
Overload 1 of 2, '(props: Readonly<GeoJSONProps>): GeoJSON<GeoJSONProps, GeoJSON<any>>', gave the following error.
Type '{ type: string; geometry: { type: string; coordinates: number[]; }; }' is not assignable to type 'GeoJsonObject'.
Object literal may only specify known properties, and 'geometry' does not exist in type 'GeoJsonObject'.
Overload 2 of 2, '(props: GeoJSONProps, context?: any): GeoJSON<GeoJSONProps, GeoJSON<any>>', gave the following error.
Type '{ type: string; geometry: { type: string; coordinates: number[]; }; }' is not assignable to type 'GeoJsonObject'.
Object literal may only specify known properties, and 'geometry' does not exist in type 'GeoJsonObject'.ts(2769)
Вот пример из многих вещей, которые я пробовал:
<Map
{...}
<GeoJSON
data={{
type: "Feature",
geometry: {
type: "Point",
coordinates: [125.6, 10.1]
}
}}
/>
/>
Когда я проверяю определение типа GeoJsonObject, геометрия не существует, есть просто поле типа, так как я должен передать геометрию элементу Geo JSON, который я пытаюсь создать? (определение типа GeoJsonObject: http://definitelytyped.org/docs/geojson--geojson/interfaces/geojson.geojsonobject.html)
И если я попробую этот код в «обычном» javascript, он сработает, знаете ли вы почему?
Спасибо за вашу помощь!