<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
রেন্ডার। এটি হ'ল