Fungsi Anak Panah Ikat dan Sebaris dalam Kaedah Render: Akibat dan Alternatif
Pengenalan:
Dalam React, prestasi pemaparan boleh terjejas jika pengikatan kaedah atau fungsi anak panah sebaris digunakan dalam kaedah render. Ini kerana ia boleh mencetuskan penciptaan kaedah baharu dan bukannya menggunakan semula kaedah sedia ada, mengakibatkan potensi kehilangan prestasi.
Mengelakkan Pengikatan dalam Kaedah Render:
Untuk mengelakkan pengikatan isu dalam kaedah render, terdapat beberapa pendekatan:
Mengatasi Parameter yang Melepasi dalam Pengikatan:
Apabila ia datang untuk menghantar parameter tambahan dalam pengikatan, terdapat pendekatan alternatif untuk mengelakkan sebaris anak panah berfungsi dalam kaedah pemaparan:
Sampel Kod:
Berikut ialah contoh pelaksanaan pendekatan alternatif yang dinyatakan di atas:
class MyComponent extends React.Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } // Binding in constructor handleClick() { console.log("Constructor binding"); } // Property initializer syntax deleteTodo = () => { console.log("Property initializer binding"); }; handleClickWithArgs = (el) => { console.log(`Delete todo: ${el}`); }; render() { // Arrow function in constructor (no extra parameters) return ( <div onClick={this.handleClick}> {" "} Click Me Constructor Binding{" "} </div> ); } } function App() { const todos = ["a", "b", "c"]; // Using arrow functions in the outer scope const handleDeleteTodo = (el) => { console.log(`Delete todo: ${el}`); }; return ( <div> {todos.map((el) => ( <MyComponent key={el} onClick={handleDeleteTodo} /> ))} </div> ); } ReactDOM.render(<App />, document.getElementById("root"));
Atas ialah kandungan terperinci Mengapa Anda Harus Mengelak Menggunakan Fungsi Bind dan Anak Panah Sebaris dalam Kaedah Render React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!