Tôi có một thử nghiệm là thiết lập đạo cụ, để quan sát một số thay đổi trong thành phần. Biến chứng duy nhất là tôi đang gói phần tử kết xuất trong một <Provider>
vì có một số thành phần được kết nối tiếp tục xuống dưới cây.sử dụng enzyme.mount(). SetProps với nhà cung cấp phản ứng-redux
Tôi render qua
const el =() => <MyComponent prop1={ prop1 } />;
const wrapper = mount(<Provider store={store}>{ el() }</Provider>);
tôi sau đó cố gắng để thực hiện một số thay đổi bằng cách sử dụng như sau:
wrapper.setProps({ /* new props */ });
// expect()s etc.
Vấn đề là setProps()
không thiết lập các đạo cụ đúng trên bọc thành phần. Tôi cho rằng điều này là bởi vì <Provider>
không thực sự truyền đạo cụ thông qua vì nó không phải là một HoC. Có cách nào tốt hơn để kiểm tra điều này hơn là chỉ thay đổi các biến prop được kích hoạt cục bộ và tái rendering?
Còn bây giờ, tôi đã giải quyết vấn đề (mặc dù không phải là câu hỏi) bằng cách truyền xuống bối cảnh qua 'mount (el, {bối cảnh, childContextTypes}) 'thay vì gói với' '. –
GTF