Добрый день, помогите понять, как мне сделать, чтобы ререндерился компонент с новой ссылкой
const block = ({url}) => {
const [loading, setLoading] = useState(true);
const [data, setData]:any = useState();
useEffect(() => {
if (loading && url !== null) {
axios.get(url, { responseType: 'blob' }).then(response => {
setData(window.URL.createObjectURL(response.data));
setLoading(false);
});
}
return () => {};
});
return loading ? (
<div
style={{
width: '100%',
height: '160px',
display: 'grid',
alignItems: 'center',
justifyContent: 'center'
}}
>
<FontAwesomeIcon
style={{ fontSize: 20 }}
spin
icon={faSpinner}
/>
</div>
) : (
<div style={{ width: '100%', height: 160 }}>
<img
style={{
objectFit: 'contain',
objectPosition: 'center',
maxWidth: '100%',
maxHeight: '100%'
}}
width="100%"
height="auto"
src={data}
/>
</div>
);
}
При первом старте все хорошо, но когда динамически изменяю пропсы props.url то уже почему то не меняется data - которая вроде setData на новую