All Projects → Roblox → Rodux

Roblox / Rodux

Licence: apache-2.0
A state management library for Roblox Lua inspired by Redux

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Rodux

Duix
A State Manager focused on KISS and Pareto's Principle
Stars: ✭ 48 (-47.83%)
Mutual labels:  state
React Easy Params
🔗 Auto synchronize your state with the URL and LocalStorage.
Stars: ✭ 73 (-20.65%)
Mutual labels:  state
Alfa
Effortless React State Management.
Stars: ✭ 86 (-6.52%)
Mutual labels:  state
Svelte Store Router
Store-based router for Svelte
Stars: ✭ 54 (-41.3%)
Mutual labels:  state
Countries States Cities Database
🌍 World countries, states, regions, provinces, cities, towns in JSON, SQL, XML, PLIST, YAML, and CSV. All Countries, States, Cities with ISO2, ISO3, Country Code, Phone Code, Capital, Native Language, Timezones, Latitude, Longitude, Region, Subregion, Flag Emoji, and Currency. #countries #states #cities
Stars: ✭ 1,130 (+1128.26%)
Mutual labels:  state
Laravel Country State
A helper to list countries & states in English in Laravel 5.1+
Stars: ✭ 77 (-16.3%)
Mutual labels:  state
Mobx React Form
Reactive MobX Form State Management
Stars: ✭ 1,031 (+1020.65%)
Mutual labels:  state
Finity
A finite state machine library for Node.js and the browser with a friendly configuration DSL.
Stars: ✭ 88 (-4.35%)
Mutual labels:  state
React Composition Api
🎨 Simple React state management. Made with @vue/reactivity and ❤️.
Stars: ✭ 67 (-27.17%)
Mutual labels:  state
Spark States
Custom state store providers for Apache Spark
Stars: ✭ 83 (-9.78%)
Mutual labels:  state
Alveron
Elm & Reason inspired state management for React
Stars: ✭ 57 (-38.04%)
Mutual labels:  state
Hal
🔴 A non-deterministic finite-state machine for Android & JVM that won't let you down
Stars: ✭ 63 (-31.52%)
Mutual labels:  state
Radon
Object oriented state management solution for front-end development.
Stars: ✭ 80 (-13.04%)
Mutual labels:  state
Naija State Local Government
A simple utility library that lists Nigeria states and local governments with zero dependency
Stars: ✭ 50 (-45.65%)
Mutual labels:  state
Statelayout
StateLayout is a simple-use Android layout library which handles Loading, Content and Error states
Stars: ✭ 88 (-4.35%)
Mutual labels:  state
Tr Geozones
Ülkeler ve Türkiye İl İlçe Semt Mahalle ve Posta Kodu Veritabanı (Laravel)
Stars: ✭ 46 (-50%)
Mutual labels:  state
Vuex Multi Tab State
💾🔗🖥️ Share, synchronize and persist state between multiple tabs with this plugin for Vuex. TypeScript types included.
Stars: ✭ 77 (-16.3%)
Mutual labels:  state
Ecno
Ecno is a task state manager built on top of UserDefaults in pure Swift 4.
Stars: ✭ 92 (+0%)
Mutual labels:  state
Query State
Application state in query string
Stars: ✭ 88 (-4.35%)
Mutual labels:  state
React Inform
Simple controlled forms with validations in react
Stars: ✭ 81 (-11.96%)
Mutual labels:  state

Rodux

A state management library for Roblox Lua inspired by Redux.
 

Installation

Method 1: Model File (Roblox Studio)

  • Download the rbxm model file attached to the latest release from the GitHub releases page.
  • Insert the model into Studio into a place like ReplicatedStorage

Method 2: Filesystem

  • Copy the src directory into your codebase
  • Rename the folder to Rodux
  • Use a plugin like Rojo to sync the files into a place

Usage

Rodux works just like Redux's base API.

See the official Rodux Documentation for more details.

local Rodux = require(script.Parent.Rodux)

local function reducer(state, action)
	state = state or {
		frobulations = 0,
	}

	if action.type == "frobulate" then
		return {
			frobulations = state.frobulations + 1,
		}
	end

	return state
end

local store = Rodux.Store.new(reducer)

store:getState() -- { frobulations = 0 }

store:dispatch({
	type = "frobulate",
})

store:getState() -- { frobulations = 1 }

Contributing

Contributions are welcome! See CONTRIBUTING.md for information.

License

Rodux is available under the Apache 2.0 license. See LICENSE for details.

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].