gerçekten kodunuzda neler olduğunu anlamak için sizin bileşen kodunu (özellikle sizin onChange
işleyicisi görmek faydalı olacaktır.
Ancak içinde Bu aslında sizindeğerini değiştirmeyecektir
input.simulate('change', {target: {value: 'abc'}});
: aşağıdaki kodu saygılarımla 10 eleman yerine, onChange
işlevinizin çalışmasına ve {target: {value: 'abc'}}
gibi görünen bir olay nesnesi sağlamasına neden olur.
Buradaki fikir, onChange
işlevinizin durumunuzu veya deposunuzu güncelleştirmesidir, bu nedenle bu işlevi tetiklemeniz DOM'inizin güncellenmesine neden olur. Gerçekte input.simulate('change')
kullanılarak tanımlanmış bir onChange
işleyiciniz yoksa bir şey yapmayacaktır. Amacınız aslında bir onChange
işleyicisi tetiklemek bir girişin değerini ayarlamak değil istiyorsa
Yani, o zaman en döngüsünü hale Tepki elle ancak bu engellemeyi edilir wrapper.find('#my-input').node.value = 'abc';
gibi bir şey kullanarak DOM güncellemek için JS kullanabilir ve büyük olasılıkla olacak Yeniden oluşturmayı tetiklemek için herhangi bir şey yaparsanız bu değeri temizlenir/kaldırılır.
'mount' düzgün çalışması için. – sigod