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"; function AvatarDropzone({onLoad}) { const onDrop = useCallback((acceptedFiles) => { // Do something with the files onLoad(acceptedFiles[0]); store.dispatch(actionSetAvatar(acceptedFiles[0])) }, [onLoad]); const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop }); return (
{isDragActive ? ( ) : ( )}
); } export const CAvatarDropZone = connect (null, {onLoad: actionUploadImage}) (AvatarDropzone) const Avatar = ({ avatarURL = {} }) => { // console.log(avatarURL); return (
{avatarURL !== null ? avatar : def-ava}
) }; export const CAvatar = connect((state) => ({avatarURL: state.promise.aboutMe?.payload}))(Avatar)