контекст: const SelectedMarkerContext = React.createContext(null);
Вот я оборачиваю своё приложение в него:
function Main() {
const [selectedMarker, setSelectedMarker] = useState(null);
const selectedMarkersState = useMemo(() => ({ selectedMarker, setSelectedMarker }), [markers, setMarkers]);
return (
<React.StrictMode>
<SelectedMarkerContext.Provider value={selectedMarkersState}>
<App />
</SelectedMarkerContext.Provider>
</React.StrictMode>
);
}
После этого в компоненте извлекаю стейт: const { selectedMarker, setSelectedMarker } = useContext(SelectedMarkerContext);
И пытаюсь присвоить значение:
onClick={() => {
setSelectedMarker(marker.data);
}}
Но значение не присваивается, а так и остаётся null
createContext не забыт? Посмотри, что возвращает useContext
const selectedMarkersState = useMemo(() => ({ selectedMarker, setSelectedMarker }), [markers, setMarkers]); мне кажется, или чёт не то
Обсуждают сегодня