Cre*_*ter 4 javascript environment sandbox reactjs redux
目前我在我的申请中有一个概念问题。
用户应该能够在我的 react/redux 应用程序中创建一个 Javascript 类,并且我的应用程序应该能够执行编写的 javascript 代码。
例如,用户 A 写道:
class PredefinedClassName {
  constructor(a) {
    this.a = a;
  }
  getSomething(parameterFromOutside) {
    return this.a * parameterFromOutside;
  }
}
然后将此类保存为某个数据库中的字符串(重要)。
接下来我想加载这个类(再次作为字符串)并执行以下操作:
由于这是一个非常罕见的用例,因此关于库的文献很少,几乎没有。
网站说明:最重要的是,我还应该检查语法和运行时错误,但我认为这是下一步,所以首先我想解决基本部分。
你对如何解决这个概念问题有什么想法吗?
谢谢和问候!
创建一个存储在字符串中的类的实例实际上很容易,浏览器基本上是在后台完成的。您需要做的就是以下几点:
// Save your javascript class in a string variable:
const classString = `class PredefinedClassName {
  constructor(a) {
    this.a = a;
  }
  getSomething(parameterFromOutside) {
    return this.a * parameterFromOutside;
  }
}`;
// Create an instance of this class with eval() function, by appending the original class declaration before the instantiation, and do not return the newly created class inside the eval, just create it like so:
const customParameterValue = 5;
const instanceOfClass = eval(classString + `new PredefinedClassName(${customParameterValue})`)
// Now you can use 'instanceOfClass' as usual:
instanceOfClass.getSomething(10)
随时在评论中要求任何澄清:)
| 归档时间: | 
 | 
| 查看次数: | 187 次 | 
| 最近记录: |