在kotlin react中编写自定义钩子
我正试图在kotlin react中写一些类似的东西在kotlin react中编写自定义钩子,kotlin,react-router,react-hooks,Kotlin,React Router,React Hooks,我正试图在kotlin react中写一些类似的东西 export default function useGoogleAnalytics() { const location = useLocation() React.useEffect(() => { analytics.init() }, []) React.useEffect(() => { const currentPath = location.pathname + locatio
export default function useGoogleAnalytics() {
const location = useLocation()
React.useEffect(() => {
analytics.init()
}, [])
React.useEffect(() => {
const currentPath = location.pathname + location.search
analytics.sendPageview(currentPath)
}, [location])
}
我可以通过创建一个像这样的空组件来实现它
val useGoogleAnalytics = functionalComponent<RProps> {
val location = useLocation()
useEffect {
console.log("useGoogleAnalytics:useEffect")
initialize("nunya-business", MyInitializeOptions())
}
useEffect {
console.log("=================== navbar", location.pathname)
val data = js("{}")
data.page = location.pathname
set(data)
pageview(path = location.pathname)
}
}
child(useGoogleAnalytics)
如果我写的是一个常规的旧函数,我会从react router得到一个useLocation问题。我想这是因为我不知道如何完成
React.useEffect(() => {
///
}, [])
召唤
useEffect {
////
}
功能组件外部似乎无法正常工作
非工作尝试是:
fun useGoogleAnalytics(){
val location = useLocation()
useEffect {
console.log("useGoogleAnalytics:useEffect")
initialize("nunya-business", MyInitializeOptions())
}
useEffect {
console.log("=================== navbar", location.pathname)
val data = js("{}")
data.page = location.pathname
set(data)
pageview(path = location.pathname)
}
}