# flat **Repository Path**: momomomooo/flat ## Basic Information - **Project Name**: flat - **Description**: 一个react-like、function-based库, 其大小仅有2KB - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-05-20 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flat #### 介绍 flat是一个小巧的function-api库, 基于virtual-DOM/diff, 只有200行代码, 压缩后仅2kb. 推荐使用jsx语法, 如果你熟悉React, 那么flat对你来说会非常熟悉. 另外推荐一个优秀的开源项目[hyperapp](https://github.com/jorgebucaran/hyperapp), flat很多地方是借鉴于它 >* rollop的版本应不低于1.12.0 ### 使用说明 #### 1. 启动 #### (1) 启动方式一(推荐) ``` npm run dev ``` 以`example/index.js`为例: ``` import { flat, setState, h } from '../src/index'; // state必须是一个对象 let state = { value: 1 }; let actions = { setValue(state){ setState({ value: state.value + 1 }) } }; let view = (state, actions) => (

{state.value}

); let container = document.getElementById('app'); flat({ state, actions, view, container }) ``` #### (2)启动方式二(浏览器环境) 查看 `example/browser.html`, 并直接在浏览器打开. 值得注意的是 `setState` 方法应该是 `flat` 函数的运行返回值, 因为`flat` 函数执行后, 内部状态应是一个独立的作用域, `setState` 将可以直接访问其内部状态. ```
``` #### 2. 编译打包 ``` npm run build ```