Skip to content

Instantly share code, notes, and snippets.

View chathuranga94's full-sized avatar

Udara Bibile chathuranga94

  • AmnesiaTech
  • Colombo, Sri Lanka
View GitHub Profile
import React from 'react';
import { GlobalStoreProvider, GlobalStore } from 'global-store-hook';
const App = () => {
const init = {
lang: 'en',
color: 'blue'
}
return (
import React, { useContext, useReducer } from 'react';
const AppContext = React.createContext({});
const App = () => {
let initialState = { lang: 'en', color: 'blue'};
let reducer = (state, action) => {
switch (action.type) {
case "change-language":
import React, { useState, useContext } from 'react';
const AppContext = React.createContext({});
const App = () => {
const [lang, setLang] = useState('en');
const [color, setColor] = useState('blue');
const store = {
lang: { get: lang, set: setLang },
import React from 'react'
import { connect } from 'react-redux'
const Menu = ({ lang, changeLanguage }) =>
<div>
<p>Current Language: {lang}</p>
<button onClick={() => changeLanguage('en')}>English</button>
<button onClick={() => changeLanguage('fr')}>French</button>
</div>
@chathuranga94
chathuranga94 / App.js
Created July 22, 2019 06:36
Legacy global state using React
import React from 'react';
class App extends React.Component {
state = { lang: 'en', color: 'blue' }
changeLanguage = (lang) => {
this.setState({...this.state, lang: lang});
}
render() {
@chathuranga94
chathuranga94 / App.js
Created July 21, 2019 06:53
Global State
import React from 'react';
import { globalStore } from './global';
const languages = { en: 'en', fr: 'fr' };
const { Provider: AppProvider, Consumer: AppConsumer } = React.createContext({});
const App = () => {
const init = { lang: 'en', color: 'blue', count: 20 }
@chathuranga94
chathuranga94 / App.js
Created July 21, 2019 06:53
Global State
import React from 'react';
import { globalStore } from './global';
const languages = { en: 'en', fr: 'fr' };
const { Provider: AppProvider, Consumer: AppConsumer } = React.createContext({});
const App = () => {
const init = { lang: 'en', color: 'blue', count: 20 }
import React, { useState } from 'react';
const languages = { en: 'en', fr: 'fr' };
const initialTheme = { colour: 'blue', lang: languages.en, setLanguage: () => {} };
const { Provider: AppProvider, Consumer: AppConsumer } = React.createContext(initialTheme);
const App = () => {
const setLanguage = (lang) => {
setTheme({ ...theme, lang: lang });
import React, { useState } from 'react';
const languages = { en: 'en', fr: 'fr' };
const initialTheme = { colour: 'blue', lang: languages.en };
const { Provider: AppProvider, Consumer: AppConsumer } = React.createContext(initialTheme);
const App = () => {
const [theme, setTheme] = useState(initialTheme);
import React from 'react';
const AppContext = React.createContext({ colour: 'blue', lang: 'en' });
const App = () =>
<AppContext.Provider value={{ colour: 'blue', lang: 'fr' }}>
<Menu />
</AppContext.Provider>;
function Menu() {