<input>ব্যবহার করার সময় কীভাবে মান অ্যাক্সেস করবেন সে সম্পর্কে আমি বিভ্রান্ত mount। আমার পরীক্ষা হিসাবে আমি যা পেয়েছি তা এখানে:
it('cancels changes when user presses esc', done => {
const wrapper = mount(<EditableText defaultValue="Hello" />);
const input = wrapper.find('input');
console.log(input.render().attr('value'));
input.simulate('focus');
done();
});
কনসোলটি প্রিন্ট করে undefined। তবে আমি কোডটি কিছুটা সংশোধন করলে, এটি কাজ করে:
it('cancels changes when user presses esc', done => {
const wrapper = render(<EditableText defaultValue="Hello" />);
const input = wrapper.find('input');
console.log(input.val());
input.simulate('focus');
done();
});
অবশ্যই, input.simulateলাইনটি ব্যর্থ হওয়ায় আমি renderএখন ব্যবহার করছি । সঠিকভাবে কাজ করার জন্য আমার দু'জনেরই দরকার। আমি কিভাবে এটা ঠিক করব?
সম্পাদনা :
আমার উল্লেখ করা উচিত, <EditableText />এটি একটি নিয়ন্ত্রিত উপাদান নয়। কিন্তু আমি যখন পাস defaultValueমধ্যে <input />, এটা মান সেট বলে মনে হয়। উপরের দ্বিতীয় কোড ব্লকটি মানটি মুদ্রণ করে না এবং একইভাবে যদি আমি ক্রোমে ইনপুট উপাদানটি পরীক্ষা $0.valueকরে কনসোলে টাইপ করি তবে এটি প্রত্যাশিত মানটি দেখায়।
input.render()নয়react-domরেন্ডার। এটি হ'ল