Houfeng / Mota
Licence: mit
🎡 A state management library
Stars: ✭ 177
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Mota
Zonote
Cross-platform desktop note-taking app. Sticky notes with Markdown and Tabs. All in one .txt file.
Stars: ✭ 255 (+44.07%)
Mutual labels: markdown, desktop
Zettlr
A Markdown Editor for the 21st century.
Stars: ✭ 6,099 (+3345.76%)
Mutual labels: markdown, desktop
Electron Markdownify
📕 A minimal Markdown editor desktop app
Stars: ✭ 700 (+295.48%)
Mutual labels: markdown, desktop
Html2markdown
A library for converting HTML to markdown syntax in C#
Stars: ✭ 167 (-5.65%)
Mutual labels: markdown
Qownnotes
QOwnNotes is a plain-text file notepad and todo-list manager with markdown support and Nextcloud / ownCloud integration.
Stars: ✭ 2,357 (+1231.64%)
Mutual labels: markdown
Frameless Titlebar
Customizable Electron Titlebar for frameless windows
Stars: ✭ 167 (-5.65%)
Mutual labels: desktop
Slideshow
slideshow gems - write your slides / talks / presentations in plain text with markdown formatting conventions
Stars: ✭ 173 (-2.26%)
Mutual labels: markdown
Wiki
Wiki.js | A modern and powerful wiki app built on Node.js
Stars: ✭ 14,985 (+8366.1%)
Mutual labels: markdown
Swift Evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language.
Stars: ✭ 12,943 (+7212.43%)
Mutual labels: markdown
Oh My Earth
Make a real time earth picture as your wallpaper
Stars: ✭ 168 (-5.08%)
Mutual labels: desktop
Sheets
Store & retrieve your static content in plain text files
Stars: ✭ 175 (-1.13%)
Mutual labels: markdown
Markdown
📖Clean & Modern MarkDown Generator, 🔌Offline Support and Easy Generation of Markdown ⚡️⚛️ https://github.com/JP1016/Markdown-Electron/releases
Stars: ✭ 170 (-3.95%)
Mutual labels: markdown
Yarle
Yarle - The ultimate converter of Evernote notes to Markdown
Stars: ✭ 170 (-3.95%)
Mutual labels: markdown
Overview
Mota 是一个面向 React 应用的状态管理库,希望用纯粹的、普通的 JavaScript 为应用编写不强依赖于框架的「业务模型」,然后,仅由 Mota 将「业务模型」关联到 React 应用。
此外,Mota 同时支持 Class 和 Hook 的两种编程风格。
Install
通过 npm 安装,如下
$ npm i mota --save
API
model
DemoModel.js
export class DemoModel {
count = 0;
add = ()=>{
this.count += 1;
}
}
Demol.js
import { model } from "mota";
import { DemoModel } from "./DemoModel"
@model(DemoModel)
export class Demo extends Component{
render() {
const {count, add} = this.model
return <div>
{count} <button onClick={add}>Add</button>
</div>
}
}
useModel
DemoModel.js
export const state = {
count: 0,
}
export function add(){
state.count += 1;
}
Demo.js
import { useModel } from "mota";
import { state, add } from "./DemoModel";
export function Demo{
const { count } = useModel(state);
return <div>
{count} <button onClick={add}>Add</button>
</div>
}
binding
For class
export class DemoModel {
message = "hello";
print = ()=> {
console.log(this.message);
}
}
@model(DemoModel)
@binding
export class Demo extends Component{
render() {
const { print } = this.model
return <div>
<input data-bind="message"/>
<button onClick={print}>Print</button>
</div>
}
}
For hook
export const state = {
message = "hello";
}
export function print(){
console.log(state.message);
}
export function Demo(){
const model = useModel(state);
return binding(<div>
<input data-bind="message"/>
<button onClick={print}>Print</button>
</div>, model);
}
Examples
Docs
Links
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].