我正在尝试从状态中提取数据。我正在使用 redux。
const {currentPost } = useSelector(state => state.posts)
我希望得到一个具有属性的对象。相反,我得到了几个 undefined 然后我得到了一个对象。这些未定义的开始导致我无法进一步解构const {currentPost: {id} } = useSelector(state => state.posts)并返回无法读取未定义属性的错误。这些帖子是通过 API 获取的。
我试图通过使用一个函数来解决它,该函数检查这currentPost是否未定义,然后将 null 传递给这些属性。但是它不适合项目并且这个解决方案容易出错。
我有两个组件,首先是 Formik 表单:
<Formik
initialValues={{files: []}}
onSubmit={values => {
console.log(values)}}>
{props => (
<form onSubmit={props.handleSubmit}>
<UploadComponent/>
<button type="submit"></button>
</form>
)}
</Formik>
Run Code Online (Sandbox Code Playgroud)
其次是上传组件:
const UploadComponent = () => {
const [files, setFiles] = useState([]);
const {getRootProps, getInputProps, isDragActive} = useDropzone({
accept: 'image/*',
onDrop: acceptedFiles => {
setFiles(acceptedFiles.map(file => Object.assign(file, {
preview: URL.createObjectURL(file)
})))
}
})
return (
<div>
<div {...getRootProps({className: 'dropzone'})}>
<input {...getInputProps()} />
<p>Drag and drop some files here, or click to select files</p>
</div>
</div>
)
Run Code Online (Sandbox Code Playgroud)
我想将这些文件作为 Formik 的值,我向 …