mirror of
https://github.com/amix/vimrc
synced 2024-12-24 19:03:07 +00:00
50 lines
1.2 KiB
Text
50 lines
1.2 KiB
Text
global !p
|
|
# Capitalize the first letter without affecting the rest of the letters
|
|
def capitalize_first(word):
|
|
if(word):
|
|
word = word[0].upper() + word[1:]
|
|
return word
|
|
endglobal
|
|
|
|
# Functional components
|
|
snippet rfc "react functional component" b
|
|
import React, {useState} from "react"
|
|
|
|
function ${1:`!p snip.rv = snip.basename`}(${2}){
|
|
return(
|
|
<div>
|
|
${3:<p>Body</p>}
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export default $4`!p snip.rv = snip.basename`
|
|
endsnippet
|
|
# React Hooks
|
|
snippet useS "useState Hook" b
|
|
const [${1}, set`!p snip.rv=capitalize_first(t[1])`] = useState(${3:"${4}"})
|
|
endsnippet
|
|
snippet useE "useEffect Hook" b
|
|
useEffect(() => {
|
|
${1:${0}}
|
|
}${2})
|
|
endsnippet
|
|
snippet useC "useContext Hook" b
|
|
const ${1:context} = useContext(${2})
|
|
endsnippet
|
|
snippet useRe "useReducer Hook" b
|
|
const [${3:state}, ${4:dispatch}] = useReducer(${5:reducer}, ${2:initial_value})
|
|
endsnippet
|
|
snippet useCB "useCallback(fn, inputs)" b
|
|
const ${1:callback} = useCallback((${2})) => ${3:{
|
|
${4}
|
|
}}, [${5}])
|
|
endsnippet
|
|
snippet useM "useMemo(fn, inputs)" b
|
|
const ${1:memorized} = useMemo(() => ${2:{
|
|
${3}
|
|
}}, [${4}])
|
|
endsnippet
|
|
snippet useR "useRef(defaultValue)" b
|
|
const ${1:ref} = useRef(${2:null})
|
|
endsnippet
|