fix: 🐛 schema 中没有 state 的定义, 出码后的 Rax/React 组件应有个默认的空的 state

This commit is contained in:
牧毅 2020-11-12 20:48:30 +08:00
parent c8cde85201
commit 7e37f8dd16
4 changed files with 48 additions and 49 deletions

View File

@ -32,8 +32,7 @@ const pluginFactory: BuilderComponentPluginFactory<PluginConfig> = (config?) =>
const ir = next.ir as IContainerInfo; const ir = next.ir as IContainerInfo;
const scope = Scope.createRootScope(); const scope = Scope.createRootScope();
if (ir.state) { const state = ir.state || {};
const state = ir.state;
const fields = Object.keys(state).map<string>((stateName) => { const fields = Object.keys(state).map<string>((stateName) => {
// TODO: 这里用什么 handlers? // TODO: 这里用什么 handlers?
const value = generateCompositeType(state[stateName], scope); const value = generateCompositeType(state[stateName], scope);
@ -58,7 +57,6 @@ const pluginFactory: BuilderComponentPluginFactory<PluginConfig> = (config?) =>
}); });
} }
// TODO: hooks state?? // TODO: hooks state??
}
return next; return next;
}; };

View File

@ -32,8 +32,7 @@ const pluginFactory: BuilderComponentPluginFactory<PluginConfig> = (config?) =>
const ir = next.ir as IContainerInfo; const ir = next.ir as IContainerInfo;
const scope = Scope.createRootScope(); const scope = Scope.createRootScope();
if (ir.state) { const state = ir.state || {};
const { state } = ir;
const fields = Object.keys(state).map<string>((stateName) => { const fields = Object.keys(state).map<string>((stateName) => {
const value = generateCompositeType(state[stateName], scope); const value = generateCompositeType(state[stateName], scope);
return `${stateName}: ${value},`; return `${stateName}: ${value},`;
@ -56,8 +55,6 @@ const pluginFactory: BuilderComponentPluginFactory<PluginConfig> = (config?) =>
linkAfter: [...DEFAULT_LINK_AFTER[CLASS_DEFINE_CHUNK_NAME.InsVar]], linkAfter: [...DEFAULT_LINK_AFTER[CLASS_DEFINE_CHUNK_NAME.InsVar]],
}); });
} }
}
return next; return next;
}; };
return plugin; return plugin;

View File

@ -20,6 +20,8 @@ import __$$projectUtils from '../../utils';
import './index.css'; import './index.css';
class Home$$Page extends Component { class Home$$Page extends Component {
state = {};
_methods = this._defineMethods(); _methods = this._defineMethods();
_context = this._createContext(); _context = this._createContext();

View File

@ -20,6 +20,8 @@ import __$$projectUtils from '../../utils';
import './index.css'; import './index.css';
class Home$$Page extends Component { class Home$$Page extends Component {
state = {};
_methods = this._defineMethods(); _methods = this._defineMethods();
_context = this._createContext(); _context = this._createContext();