所以我正在做一些需要我接受一个类(在单独的文件中声明)的东西,在这种情况下它是一个反应组件,并将其转换为字符串,通过正则表达式删除某些东西使react组件变小,然后将其转换回类并将该新对象设置为状态。 如果你不熟悉反应那么简单来说我需要去上课 - >字符串 - >类对象
这是我到目前为止所返回的内容并且看起来像是同一个对象,但是当我尝试使用它并设置状态时,它会丢失上下文或者其他内容并且var NAMESPACE出现为未定义。
如果我尝试直接从newState参数开始并将其设置为函数中的状态" _this.setState()"一切都按预期工作。
感谢阅读,希望你能帮助我。仅供参考我在JS方面经验不足,可能缺少一个重要的概念。
setStateInChunks(newState, _this) {
var obj = {};
obj = newState.toString();
var newObj = eval(obj);
_this.setState({view: newObj});
}
这是设置为状态
的示例类对象const React = api.React;
const ReactBootstrap = api.ReactBootstrap;
// Get Bootstrap elements
const Row = ReactBootstrap.Row;
const Col = ReactBootstrap.Col;
const Well = ReactBootstrap.Well;
const Button = ReactBootstrap.Button;
const ButtonGroup = ReactBootstrap.ButtonGroup;
var ExampleVar = null;
// Initialize the namespace
const NAMESPACE = 'ExampleString';
class View extends foo.Bar {
constructor() {
super();
this.nameSpace = NAMESPACE;
ExampleModule = foo.bar('ExampleString');
}
}
编辑:setStateInChunks()是在我的父组件中调用的函数,而不是标准this.setState()。这有点像这样使用
var newView = foo.getView('storedView')
this.setStateInChunks(newView, _this);