Hah, önce bu soruyu sorduğum için senden nefret ettiğimi söyleyeyim! Bana cevabı bulmaya zorladınız :)
Bu durumun, yerel olayı UIControlEventEditingDidEnd
olan iOS'tan kaynaklandığından bu yana kök salmış olduğuna inanıyorum. Muhtemelen blur
'dan önceki isimlendirme bir soyutlama olarak tanıtılmıştır.
TL: DR;
onEndEditing
gerçekten benim düşünceme göre kullanılmamalıdır, ancak şu andan itibaren onu kullanmalısınız çünkü bu, en çok platformun agnostik versiyonudur. Aşağıya bakınız.
Her ikisi de onBlur
ve onEndEditing
bir olay olsun. IOS'ta bunların her ikisi de aynı şeyi yapıyor gibi görünüyor ve etkinliğin yerel metni var. Android'de, iki farklı olaydır ve bunlardan yalnızca bir tanesi metne erişebilir. Bana göre bu bir böcek gibi görünüyor.
Android onEndEditing ve Android onBlur arasındaki farklara dikkat edin.
// this is undefined on Android
onBlur={(e) => alert(e.nativeEvent.text)}
Yani bir bulanıklık sırasında metin okuma, sen şimdilik onEndEditing
ile çapraz platform kullanılabilirlik olsun.
:
onBlur
hiçbir verinin anlamına gelmez iken
, TextInput
içeriğini geçmek içindir onEndEditing
gibi görünüyor, iOS ve Android örneklere bakıldığında OS
onSubmitEditing arasında bir fark var. OnSubmitEditing, multiline = true olursa çağrılmaz. – vijayst