Bu belge yapay zeka tarafından çevrilmiştir. Doğru bilgi için İngilizce sürüme bakın.
RunJS, React bileşenleri yazar gibi kod yazmanıza olanak tanıyan JSX sözdizimini destekler. JSX, çalıştırılmadan önce otomatik olarak derlenir.
ctx.libs.React.createElement ve ctx.libs.React.Fragment olarak derlenir.ctx.libs.React kullanılacaktır.ctx.importAsync('react@x.x.x') aracılığıyla harici bir React yüklendiğinde, JSX bu örneğin createElement yöntemini kullanacak şekilde değişecektir.RunJS, React ve yaygın UI kütüphanelerini yerleşik olarak içerir. Bunlara import kullanmadan doğrudan ctx.libs üzerinden erişebilirsiniz:
createRoot ile kullanılabilir)Doğrudan JSX yazarken React'i destructure etmenize (ayrıştırmanıza) gerek yoktur. Sadece Hooks (useState, useEffect gibi) veya Fragment (<>...</>) kullanırken ctx.libs üzerinden ayrıştırma yapmanız gerekir:
Not: Yerleşik React ile ctx.importAsync() aracılığıyla içe aktarılan harici React birlikte kullanılamaz. Harici bir UI kütüphanesi kullanıyorsanız, React'in de aynı harici kaynaktan içe aktarılması gerekir.
ctx.importAsync() aracılığıyla belirli bir React sürümü ve UI kütüphaneleri yüklendiğinde, JSX bu React örneğini kullanacaktır:
Eğer antd, react/react-dom'a bağımlıysa, birden fazla örneği önlemek için deps aracılığıyla aynı sürümü belirtebilirsiniz:
Not: Harici React kullanırken, antd gibi UI kütüphanelerinin de ctx.importAsync() aracılığıyla içe aktarılması gerekir. Bunları ctx.libs.antd ile karıştırmayın.
<Button type="primary">Metin</Button><>...</> veya <React.Fragment>...</React.Fragment> (Fragment kullanırken const { React } = ctx.libs şeklinde ayrıştırma yapmanız gerekir){ifade} kullanın, örneğin {ctx.user.name} veya {count + 1}; {{ }} şablon sözdizimini kullanmayın.{flag && <span>İçerik</span>} veya {flag ? <A /> : <B />}array.map() kullanın ve her öğe için sabit bir key belirleyin.