1. Home
  2. Docs
  3. REACT
  4. STATE
  5. swr-gobal-state setter

swr-gobal-state setter

Usage


import useGlobal from './data/global'
import { set_ }	from './tools'


function App() {
    const [glob, _glob] = useGlobal();

    set_(_glob, 'user.name', 'new name');
    set_(_glob, 'user.avatar.path.prop1', 'new prop');

.......

function


const set_ = (setter, name, value) =>{
	//const [glob, setGlob] = useGlobal();
	const dom   = name.split('.')[0]
	const node1 = name.split('.')[1]
	const node2 = name.split('.')[2]
	const node3 = name.split('.')[3]
	
	
	if ( node3 )
		setter(p =>(
			 {[dom]: { ...p[dom],
					   [node1]: { ...p[dom][node1],
						   [node2]: { ...p[dom][node1][node2],
							  [node3]: value } }}}
		))
	else if ( node2 )
		setter(p =>(
			 {[dom]: { ...p[dom],
					   [node1]: { ...p[dom][node1],
						  [node2]: value } }}
		))
	else if ( node1 )
		setter(p =>(
			 {[dom]: { ...p[dom], [node1]: value }}
		))
	else
		setter(p => value)
	
	
	
	/*
	setter(p =>(
		 {user: { ...p.user, name: "changed" }}
	))
	setter(p =>(
		 {user: { ...p.user,
				 avatar: { ...p.user.avatar,
						  path: ...p.user.avatar.path,
						  	prop1: "new src" } }}
	))
	*/
}