
Research
/Security News
Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.
@52css/weact
Advanced tools
微信js使用react-like语言开发js(只是js部分)
整体页面是WPage包裹hook方法,可以使用useState定义数据,onShow、onHide、onLoad、onUnload、onReady、onPullDownRefresh、onReachBottom 控制生命周期
import { WPage, useState, onShow, onLoad } from "../../utils/weact"
WPage(() => {
const [num, updateNum] = useState(0);
const [num1, updateNum1] = useState(100);
const toLogs = () => {
wx.navigateTo({
url: '/pages/logs/logs',
})
}
onLoad((options) => {
console.log('page1 onLoad', options)
})
onShow(() => {
console.log('page1 onShow')
return () => {
console.log('page1 onHide')
}
})
return {
num,
num1,
toLogs,
click(e) {
console.log('e', e.currentTarget.dataset)
updateNum((num) => num + 1);
},
focus() {
updateNum1(num => num + 3);
}
};
})
整体页面是WComponent包裹hook方法,可以使用useState定义数据,created、attached、ready、moved、detached、error 控制生命周期
需要return
import { WComponent, useState, attached } from "../../utils/weact"
WComponent(({ name, abc = 1 }) => {
const [count, setCount] = useState(10)
const bindTap = () => {
setCount(count => count + 1)
}
attached(() => {
console.log('attached')
})
return {
name,
abc,
count,
bindTap
}
})
WPage(function () {
console.log('page-this', this)
});
WComponent(function () {
console.log('component-this', this)
});
WPage(() => {
useEffect(() => {
console.log('useEffect, 立即执行')
})
useEffect(() => {
console.log('useEffect, 只执行一次')
}, [])
useEffect(() => {
console.log('useEffect, num变更就执行', num)
}, [num])
useEffect(() => {
const timer = setTimeout(() => {
setShowText(() => true);
}, 2000);
return () => {
// 页面销毁的时候执行
clearTimeout(timer);
};
}, [])
});
WPage(() => {
const [count, setCount] = useState(0);
const [count1, setCount1] = useState(0);
const y = useMemo(() => {
console.log('只有count触发才会更新')
return count * 2 + 1
}, [count])
return {
count,
y,
bindTap() {
setCount(c => c + 1);
},
count1,
bindTap1() {
setCount1(c => c + 1);
}
}
});
触发方法
WComponent((change = () => {}) => {
change({hello: '123'});
})
触发props的双向绑定更新
WComponent((props = {visible: false}) => {
// 手动更新,不能解构visible直接更新
props.visible = true
})
FAQs
微信js使用react-like语言开发js(只是js部分)
We found that @52css/weact demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Miasma Mini Shai-Hulud hits @immobiliarelabs Backstage plugins, targeting GitLab and LDAP auth packages on npm.

Security News
Rolldown paused Rust React Compiler integration after a 5MB binary size increase raised concerns about shipping React-specific code to all Vite users.

Security News
/Research
Mini Shai-Hulud expands into the Go ecosystem after hitting LeoPlatform npm packages and targeting GitHub Actions workflows.