繁体   English   中英

UseSelector undefined 不是函数

[英]UseSelector undefined is not a function

引发错误undefined is not a function (near '...(0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useSelector)(state => state.files).map...') 在此处输入图像描述我将其包装在一个函数中-错误也相似,告诉我我写错了什么?

文件列表

import React from 'react';
import './fileList.css'
import { useSelector } from "react-redux";
import File from "./File/File";

const FileList = () => {
   const files = useSelector((state) => state.files.files).map((file) => <File key={file.id} file={file}/>)

return (
    <div className="container">
    <div className='filelist'>
        <div className="filelist__header">
            <div className="filelist__name">name</div>
            <div className="filelist__date">data</div>
            <div className="filelist__size">size</div>
        </div>
        {files}
    </div>
    </div>
);

};

导出默认文件列表;

文件

 import React from 'react';
import './file.css'
import dirLogo from '../../../../assets/img/dir.svg'
import fileLogo from '../../../../assets/img/file.svg'

const File = ({file}) => {

    return (
    <div className='file'>
        <img src={file.type === 'dir' ? dirLogo : fileLogo} alt="" className="file__img"/>
        <div className="file__name">{file.name}</div>
        <div className="file__date">{file.date.slice(0,10)}</div>
        <div className="file__size">{file.size}</div>
    </div>
);

};

导出默认文件;

你可以像下面这样更新文件吗? 谢谢!

 import React from 'react'; import './fileList.css' import { useSelector } from "react-redux"; import File from "./File/File"; const FileList = () => { const files = useSelector((state) => state.files.files); return ( <div className="container"> <div className='filelist'> <div className="filelist__header"> <div className="filelist__name">name</div> <div className="filelist__date">data</div> <div className="filelist__size">size</div> </div> {files?.map(eachFile => <File key={eachFile.id} file={eachFile}/>) ?? ""} </div> </div> ); export default FileList

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM