import {useCallback} from "react"; import {store} from "../../reducers"; import {actionSetAvatar, actionUploadImage, backURL} from "../../actions"; import {useDropzone} from "react-dropzone"; import {connect} from "react-redux"; import avadef from "../../ava-def.jpg"; import {all, takeEvery, put, call} from 'redux-saga/effects'; function AvatarDropzone({onLoad}) { const onDrop = useCallback((acceptedFiles) => { // Do something with the files onLoad(acceptedFiles[0]); store.dispatch(actionSetAvatar(acceptedFiles[0])) }, []); const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop }); return (
{isDragActive ? (

Перетащите файл сюда ...

) : (

Сменить аву, нажмите или перетащите файл

)}
); } export const CAvatarDropZone = connect (null, {onLoad: actionUploadImage}) (AvatarDropzone) const Avatar = ({ avatarURL = {} }) => { // console.log(avatarURL); return (
{avatarURL.avatar?.url !== null ? : }
) }; export const CAvatar = connect((state) => ({avatarURL: state.promise.aboutMe?.payload}))(Avatar)