Yew 開發團隊很榮幸地宣布 Yew 0.21.0,這是一個重要的里程碑,它讓開發人員能使用 Rust 建立可靠的高效能應用程式。讓我們深入了解此版本的主要功能。
新功能
1. 變更簽章:修改 Hook 相依關係
Yew 0.21 的重大變更之一,是調整 Hook 接受相依關係的簽章。以前相依關係會在封閉後作為第二個引數傳遞。不過現在它們會在封閉前作為第一個引數傳遞。
use_effect_with_deps(deps, move |deps: Vec<i32>| {
// Do something with dependencies
});
交換程式碼片段中相依關係的順序原因,是為了應對特定的使用案例。在需要相同值來計算相依關係和移動值到封閉的情況下,新的順序簡化了程式碼,並改善程式碼的可讀性和人體工學。
這是一個重大的重大變更,因此我們已提供一個自動化重構的方式
2. 多功能子類型
Yew 現允許您在元件中使用任何類型作為子項。這表示您不再僅限於 Children
類型。相反地,您可以使用任何類型,甚至是 Html
或封閉函式,解除鎖定模式,例如
html! {
<Comp>
{|p: RenderProps| html!{<>{"Hello, "}{p.name}</>}}
</Comp>
}
3. 代理程式:完整重寫
Yew 0.21 提供 yew-agent
的完整重寫。這簡化並簡化工作者的運作方式。以下是您需要知道的事項
-
推出提供者: 向舊的
Worker::bridge()
方法道別。現在,您可以使用WorkerProvider
/ReactorProvider
/OneshotProvider
依照您的需求使用,透過使用掛鉤建立它們。 -
WorkerLink 到 WorkerScope: 我們已移除 WorkerLink,轉而使用 WorkerScope。此變更簡化了工作者架構,使其更容易管理和維護。
現在有 3 種類型的代理程式可依情況使用
-
Worker 代理程式: 使用執行者模型的原始代理程式,用於處理複雜的狀態。
-
一次性代理程式: 專為您預期每個代理程式只有一個輸入和一個輸出的情況所設計。
-
反應器代理程式: 適用於每個代理程式需要多個輸入和多個輸出的情況。
在 yew-agent 文件 中深入了解
4. 效能改善:更快速、更順暢的體驗
Yew 0.21 帶來顯著的效能改善。您的網路應用程式將執行得更快、更有效率,這歸功於減少記憶體使用量和增強繪製的最佳化。
尋找貢獻者
Yew 專案蓬勃發展,仰賴於社群參與,我們熱烈歡迎貢獻者。不論您是經驗豐富的 Rust 開發人員,還是開啟旅程的新手,都有很多方法可以參與,並對 Yew 的成長帶來有意義的影響。
以下列出一些您可以做出貢獻的領域
-
程式碼貢獻: 若您熱衷使用 Rust 進行網路開發,請考慮為 Yew 貢獻程式碼。不論是要修正錯誤、新增功能或改善文件,您的程式碼都能幫助讓 Yew 變得更好。
-
文件:明確而全面的文件對於任何專案的成功都是至關重要的。你可以透過改善文件、撰寫教學課程或創作範例來幫助他人了解並有效地使用 Yew。
-
測試和錯誤回報:測試 Yew 和回報你遇到的錯誤是有價值的貢獻。你的回饋可以幫助我們找出並修復問題,確保這個架構對每個人來說都更加穩定。
-
社群支援:加入討論、聊天室(我們有自己的 Discord 和 Matrix!)或社群媒體,來協助其他使用 Yew 的開發人員。分享你的知識並幫助其他人解決問題是不錯的貢獻方式。
對像 Yew 這樣的開源專案做出貢獻不僅是一種回饋社群的方式,也是學習、合作並提升你的技能的絕佳機會。
若要開始,請查看 Yew GitHub 儲存庫和貢獻指南。你的貢獻備受重視,並在形塑 Yew 的未來方面扮演至關重要的角色。加入我們這個令人興奮的旅程!
感謝!
許多人共同創作 Yew 0.21。你的幫助,我們的成就不可能發生。謝謝你!
請見 完整的變更記錄