gpt4 book ai didi

immutable.js - fromJS 带有对象类型文件(文件上传)

转载 作者:行者123 更新时间:2023-12-01 06:05:14 24 4
gpt4 key购买 nike

不可变的 js - fromJS:处理文件上传(文件对象数组)似乎不可能转换为不可变的
fromJS做得很好即使是嵌套结构 喜欢:
javascript
const nested = [ { id: 1, val1: '1, other: { id: 1, prop1: '0' } }, true ];

但是

  • 只要一个对象是String(MyObject) = [object Object] fromJS将其转换为 Map() .
  • 但是当对象是文件时 String(MyFileObject) = [object File] , fromJS会离开它[object File]

  • Q1:如何(我的意思是最好的方法)使用不可变的 js 处理文件上传?

    Q2:在这种情况下是否有某种 FileMap(相当于 Map 但文件对象镜像)?

    最佳答案

    您不能卡住文件对象。然而,一个 File无论如何都由一堆只读字段组成,因此可能不需要转换它。

    如果您想限制与对象的交互,您可以使用包装器方法,如 Is there a way to freeze an ES6 Map? 中所述。 .将您的对象包装在一个包装器中,这限制了对它的访问。然后您可以编写自己的 reviver for fromJS专门转换这些对象:

    function reviver(key, value) {
    if (value instanceof File) {
    return wrapFile(value);
    }
    return isKeyed(value) ? value.toMap() : value.toList()
    }

    关于immutable.js - fromJS 带有对象类型文件(文件上传),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956946/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com