React ialah perpustakaan JavaScript yang berkuasa untuk membina antara muka pengguna. Walaupun fleksibilitinya adalah salah satu kekuatan terbesarnya, ia kadangkala boleh membawa kepada kod verbose. Mujurlah, terdapat banyak cara untuk memudahkan corak biasa dalam React dengan satu garisan yang ringkas dan cekap. Dalam artikel ini, kami akan meneroka 30 react one-liners berguna yang akan menjadikan kod anda lebih bersih dan lebih cekap. Setiap contoh disertakan dengan penerangan ringkas untuk menyerlahkan penggunaannya.
Permudahkan pemaparan UI bersyarat berdasarkan prop atau keadaan.
const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
Sediakan nilai lalai pada prop untuk mengelakkan ralat tidak ditentukan.
const Button = ({ label = "Click Me" }) => <button>{label}</button>;
Gunakan gaya dinamik secara langsung menggunakan objek JavaScript.
const Box = ({ size }) => <div> <h3> 4. Functional Updates in State </h3> <p>Use functional updates to access the latest state.<br> </p> <pre class="brush:php;toolbar:false">const [count, setCount] = useState(0); const increment = () => setCount(prev => prev + 1);
Kendalikan acara input pengguna sebaris secara langsung.
const Input = () => <input onChange={e => console.log(e.target.value)} />;
Salurkan semua prop kepada komponen dengan mudah.
const Button = props => <button {...props} />;
Tugaskan kelas CSS secara dinamik berdasarkan prop.
const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
Peta atas tatasusunan untuk menjana senarai elemen.
const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
Tapis tatasusunan dan tunjukkan item yang sepadan sahaja.
const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
Akses sifat objek bersarang dalam dengan selamat.
const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
Membuat komponen atau elemen secara bersyarat.
const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
Lepaskan komponen sebagai prop untuk pembalut boleh guna semula.
const Wrapper = ({ Component }) => <Component />;
Jalankan kesan sekali sahaja semasa pemasangan komponen.
useEffect(() => console.log("Mounted"), []);
Nyahlantunkan input pengguna untuk meningkatkan prestasi.
const Input = ({ onChange }) => <input onChange={e => debounce(onChange(e.target.value), 300)} />;
Gabungkan kemas kini keadaan baharu ke dalam keadaan sedia ada.
const [state, setState] = useState({}); const updateState = updates => setState(prev => ({ ...prev, ...updates }));
Gunakan prop yang rosak untuk kod yang lebih bersih.
const Greeting = ({ name }) => <h1>Hello, {name}</h1>;
Memoize fungsi untuk mengelakkan penciptaan semula yang tidak perlu.
const handleClick = useCallback(() => console.log("Clicked"), []);
Buat cangkuk tersuai ringkas untuk logik boleh guna semula.
const useToggle = initialValue => useState(initialValue).reduce((state, setState) => [state, () => setState(!state)]);
Kumpulkan berbilang elemen tanpa menambah nod DOM tambahan.
const FragmentExample = () => <><p>First</p><p>Second</p></>;
Akses nilai konteks menggunakan komponen pengguna.
const Greeting = ({ isLoggedIn }) => isLoggedIn ? <h1>Welcome!</h1> : <h1>Please log in</h1>;
Sediakan fungsi lalai sebagai prop untuk mengelakkan ralat masa jalan.
const Button = ({ label = "Click Me" }) => <button>{label}</button>;
Halang tingkah laku lalai secara langsung dalam pengendali acara.
const Box = ({ size }) => <div> <h3> 4. Functional Updates in State </h3> <p>Use functional updates to access the latest state.<br> </p> <pre class="brush:php;toolbar:false">const [count, setCount] = useState(0); const increment = () => setCount(prev => prev + 1);
Import komponen secara dinamik untuk prestasi yang lebih baik.
const Input = () => <input onChange={e => console.log(e.target.value)} />;
Balut kanak-kanak dalam UI sandaran untuk ralat.
const Button = props => <button {...props} />;
Gunakan corak render-prop untuk komponen fleksibel.
const Alert = ({ type }) => <div className={`alert ${type}`}>Alert Message</div>;
Gunakan atribut secara bersyarat berdasarkan logik.
const List = ({ items }) => <ul>{items.map((item, index) => <li key={index}>{item}</li>)}</ul>;
Muatkan modul secara dinamik berdasarkan keadaan.
const FilteredList = ({ items }) => <ul>{items.filter(item => item.active).map(item => <li key={item.id}>{item.name}</li>)}</ul>;
Segerakkan nilai input dengan keadaan dengan mudah.
const UserProfile = ({ user }) => <p>{user?.name || "Guest"}</p>;
Ubah data kepada elemen menggunakan pengurangan.
const ErrorMessage = ({ error }) => error && <p>{error.message}</p>;
Gunakan cangkuk dengan bersyarat tanpa melanggar peraturan.
const Wrapper = ({ Component }) => <Component />;
Pelapis satu ini menunjukkan keanggunan dan serba boleh React. Dengan memanfaatkan corak ringkas ini, anda boleh menulis kod yang lebih bersih dan boleh diselenggara yang meningkatkan produktiviti. Cuba masukkannya ke dalam projek anda untuk melihat perbezaannya!
Atas ialah kandungan terperinci Bertindak Balas Satu Pelapik untuk Meningkatkan Kecekapan Pengekodan Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!