Giter Site home page Giter Site logo

ice-lab / react-materials Goto Github PK

View Code? Open in Web Editor NEW
228.0 21.0 260.0 407 KB

:blowfish: 基于 icejs 的通用脚手架,用于快速创建项目。

JavaScript 33.45% HTML 0.44% TypeScript 42.73% SCSS 15.27% CSS 6.25% EJS 1.87%
ice react react-components

react-materials's Introduction

飞冰官方物料

脚手架列表

NPM 包名 说明
@alifd/scaffold-simple icejs
@icedesign/ice-antd-scaffold icejs + Ant Design
@alifd/scaffold-lite icejs + Fusion Design
@alifd/fusion-design-pro icejs + Fusion Design + 大量 UI 区块
@icedesign/stark-layout-scaffold icejs + icestark 主应用
@icedesign/stark-child-scaffold icejs + icestark 微应用
@icedesign/scaffold-electron icejs + Vite + Electron

快速使用

CLI

$ npm init ice ice-app

$ npm init ice ice-app --template <NPM 包名>
$ npm init ice ice-app --template @alifd/scaffold-simple

GUI

查看 Appworks 文档

react-materials's People

Contributors

chenjun1011 avatar chriscindy avatar clarkxia avatar imsobear avatar luhc228 avatar maoxiaoke avatar wssgcg1213 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-materials's Issues

关于通用脚手架对 UI 组件耦合的讨论

通用脚手架

  • icestark 主应用
  • icestark 子应用
  • icejs x electron
  • icejs x vscode 插件
  • icejs x chrome 插件
  • ...

方案

  • 耦合 UI 组件:无论是耦合 fusion 还是 antd,开发者初始化完成后切换组件都有成本,icestark 的脚手架目前是耦合 fusion,但相对来说 antd 的受众更广一些
  • 不耦合 UI 组件:开发者需要自己引入 Layout 相关能力,存在一定的成本,可以提供个 AppWorks 插件来一键添加?

demo应用打开白屏

效果:
image

复现方式:
npm init ice icejs-electron --template @icedesign/scaffold-electron
cd icejs-electron/
tnpm start

原因分析:
image

process.env.IS_SERVER 一直都是字符串的'false' , 导致直接return

init项目后,npm start报错

npm install 显示成功

npm start启动失败
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again

node 版本: v16.14.0

官方脚手架(模板)升级点记录

供其他自定义脚手架参考

已确定

FormBinder can't add a classname as a mark when the validator being return an error

When the value of the form item is validated incorrectly, the form item does not add a classname that flags the error. I think it is useful to add a classname that prompts the error. Users can use it to customize style or do other things.
image
I added the following line of code to my project in FormBinder and then it works. Do you think that's reasonable?

the addcode :
className:this.context.getError(name).length > 0 ? 'this-field-has-error' : '',

`
const NewFormItem = React.cloneElement(FormItem, {
[valuePropName]: (() => {
const value = this.context.getter(name);
return setFieldValue(value);
})(),

  [validateTriggerType]: () => {
    if (this.rules.length > 0) {
      console.log('....')
      this.context.validate(name, this.rules);
    }
  },
  className:this.context.getError(name).length > 0 ? 'this-field-has-error' : '',
  onChange: (...args) => {
    if (FormItemProps.onChange) {
      FormItemProps.onChange.apply(this, args);
    }

    const newValue = getFieldValue(...args);
    this.context.setter(name, newValue);

    if (validateTriggerType === 'onChange' && this.rules.length > 0) {
      this.context.validate(name, this.rules);
    }
  },
});

`
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.