Я использую реагирующее-гугл-карты, чтобы нарисовать ломаную линию, которая связана с наблюдаемым массивом mobx.Это работает, если я устанавливаю значения при загрузке страницы.Но когда я обновляю значение полилинии (маршрут), график не обновляется.Я думаю, что проблема связана с MOBX не уверен, хотя.Я обнаружил, что Mobx Observable Array не обновляется , но безуспешно.Любые другие идеи?
Неполные части из файла main.tsx, чтобы дать некоторые идеи о структуре ...
export const Main = observer(() => {
const mainState = useContext(MainState);
const MapWithARoute = withScriptjs(
withGoogleMap((props) => (
<GoogleMap defaultZoom={12} defaultCenter={mainState.center}>
<Polyline
path={mainState.route}
options={{
strokeColor: '#FF0000',
strokeOpacity: 1,
strokeWeight: 6,
icons: [
{
offset: '0',
repeat: '10px'
}
]
}}
/>
</GoogleMap>
))
);
}
return (
<MapWithARoute
googleMapURL="https://maps.googleapis.com/maps/api/js?
key=mykey&v=3.exp&libraries=geometry,drawing,places"
loadingElement={<div style={{ height: `100%` }} />}
containerElement={<div style={{ height: `400px` }} />}
mapElement={<div style={{ height: `100%` }} />}
/>
);
Внутри MainState.tsx
import { createContext } from 'react';
import { decorate, observable } from 'mobx';
export class MainState {
route: any = [];
center: any = { lat: 59.95, lng: 30.33 };
}
decorate(MainState, {
route: observable,
center: observable
});
export default createContext(new MainState());