Ya Anda bisa, tetapi bukannya kosong, kembali saja null
jika Anda tidak ingin render
apa pun dari komponen, seperti ini:
return (null);
Poin penting lainnya adalah, di dalam JSX jika Anda merender elemen secara kondisional, maka dalam kasus condition=false
, Anda dapat mengembalikan salah satu dari nilai-nilai ini false, null, undefined, true
. Sesuai DOC :
booleans (true/false), null, and undefined
adalah anak-anak yang valid , mereka akan Diabaikan berarti mereka tidak membuat.
Semua JSX
ekspresi ini akan menghasilkan hal yang sama:
<div />
<div></div>
<div>{false}</div>
<div>{null}</div>
<div>{undefined}</div>
<div>{true}</div>
Contoh:
Hanya nilai ganjil yang akan diberikan, karena untuk nilai genap kami kembali null
.
const App = ({ number }) => {
if(number%2) {
return (
<div>
Number: {number}
</div>
)
}
return (null); //===> notice here, returning null for even values
}
const data = [1,2,3,4,5,6];
ReactDOM.render(
<div>
{data.map(el => <App key={el} number={el} />)}
</div>,
document.getElementById('app')
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='app' />
return null
danreturn (null)
mereka sama :)return
maka Bereaksi memberikan kesalahan. Jadireturn null
itu wajib.Beberapa jawaban sedikit salah dan menunjuk ke bagian dokumen yang salah:
Jika Anda ingin komponen tidak membuat apa pun, kembalilah
null
, sesuai dokumen :Jika Anda mencoba kembali
undefined
misalnya, Anda akan mendapatkan kesalahan berikut:Seperti yang ditunjukkan oleh jawaban yang lain,
null
,true
,false
danundefined
adalah anak-anak yang sah yang berguna untuk render bersyarat dalam BEJ Anda, tetapi Anda ingin komponen Anda untuk menyembunyikan / membuat apa-apa, hanya kembalinull
.sumber
Ya, Anda dapat mengembalikan nilai kosong dari metode React render.
Anda dapat mengembalikan salah satu dari yang berikut:
false, null, undefined, or true
Menurut dokumen :
Anda bisa menulis
Namun
return null
yang paling disukai karena menandakan bahwa tidak ada yang dikembalikansumber
Agak di luar topik, tetapi jika Anda membutuhkan komponen berbasis kelas yang tidak pernah menerjemahkan apa pun dan Anda senang menggunakan sintaks ES yang belum distandarisasi, Anda mungkin ingin pergi:
Ini pada dasarnya adalah metode panah yang saat ini membutuhkan plugin Babel transform-class-properties . Bereaksi tidak akan membiarkan Anda mendefinisikan komponen tanpa
render
fungsi dan ini adalah bentuk paling ringkas yang memenuhi persyaratan ini yang dapat saya pikirkan.Saat ini saya menggunakan trik ini dalam varian ScrollToTop yang dipinjam dari
react-router
dokumentasi. Dalam kasus saya, hanya ada satu contoh komponen dan tidak membuat apa pun, jadi bentuk singkat "render null" cocok di sana.sumber
Kita bisa kembali seperti ini,
sumber
null
?Mengembalikan nilai falsy dalam fungsi render () tidak akan menghasilkan apa-apa. Jadi Anda bisa melakukannya
sumber