小编Arc*_*ech的帖子

React useSelector 首先返回未定义,然后返回对象

我正在尝试从状态中提取数据。我正在使用 redux。

const {currentPost } = useSelector(state => state.posts)

我希望得到一个具有属性的对象。相反,我得到了几个 undefined 然后我得到了一个对象。这些未定义的开始导致我无法进一步解构const {currentPost: {id} } = useSelector(state => state.posts)并返回无法读取未定义属性的错误。这些帖子是通过 API 获取的。

我试图通过使用一个函数来解决它,该函数检查这currentPost是否未定义,然后将 null 传递给这些属性。但是它不适合项目并且这个解决方案容易出错。

javascript reactjs redux react-redux

5
推荐指数
1
解决办法
4732
查看次数

通过 react-dropzone 和 formik 在 react 中上传文件

我有两个组件,首先是 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 的值,我向 …

upload reactjs react-dropzone formik

4
推荐指数
1
解决办法
5644
查看次数