Notice
Recent Posts
Recent Comments
07-18 18:23
YESHTML5
Object 불변성 유지할수있게, useObject hooks 기반 본문
반응형
useState에서 Object 즉 JSON형태로 저장한다.
이전에 값이 있는경우 대체되어버리기때문에, 기존의값 그대로 뒤에로 override형태로 덮어쓴다.
const [json, setJson] = useObject({ title: 'test' }) 형태로 사용하고 싶어서, 만든 코드 올려본다.
/**
* @name useObject
* @description
*/
import {useCallback, useState} from 'react'
// Hook
export const useObject = (initialState: {} = {}): any => {
// Initialize the state
const [state, setState] = useState<object>(initialState)
const update = useCallback(
(data): void =>
setState(prevState => {
return {...prevState, ...data}
}),
[],
)
return [state, update]
}
/********************************************************
[사용법]
import { useObject } from '@app/lib/hooks/useObject'
const Debug = () => {
const [json, setJson] = useObject({ title: 'test' })
return (
<Container>
<Button onPress={() => { setJson({ 'random_number': Math.random() * 1000 }) }}>
정보가져오기
</Button>
<Text>{JSON.stringify(json, null, 1)}</Text>
</Container>
)
}
export default Debug
*********************************************************/
반응형
'React,React-Native' 카테고리의 다른 글
react-native-naver-map 적용시 pod install Error날때 (0) | 2022.05.26 |
---|---|
ios Cocoapods 문제생길때 (0) | 2022.05.26 |
useAxios를 만들어 보았다. (0) | 2022.05.25 |
useToggle hooks를 만들어보았다. (0) | 2022.05.25 |
useImage 이미지 불러올때 Resize적용가능하게 (0) | 2022.05.24 |
Comments