2016-08-18 17 views

Trả lời

0

Tiện ích sẽ nhận trạng thái là đối số.

Bởi vì bạn muốn sử dụng các tiện ích trong thành phần (lượt xem) bạn có thể lưu trữ các trạng thái trong một biến thành viên trên của bạn thành phần thông minh (một trong những sử dụng connect() chức năng) qua mapStateToProps(state) gọi lại. , sau đó bạn có thể chuyển thành viên này tới thành phần câm của mình.

+2

bạn sẽ phải vượt qua các thành viên để các tiện ích mỗi khi bạn muốn sử dụng nó, sẽ là tuyệt vời nếu tiện ích chỉ có thể truy cập các thành viên đó để chúng tôi không lặp lại mã số ... – Vic

3

connect không hoạt động ở đây nếu các chức năng tiện ích của bạn không phải là react yếu tố.

ý tưởng tốt nhất là, nhập khẩu tạo cửa hàng và sau đó sử dụng chức năng getState,

import store from 'store/createStore'; 
const state = store.getState(); 
+1

Tôi đã kết thúc đạo cụ thánh thiện cho chức năng tiện ích từ thành phần container –

1

Vâng, đây không phải là một câu trả lời đơn giản, nhưng sau khi nghiên cứu này quá lâu, tôi thấy đó, đó là những chỉ 2 bài viết giải thích bất cứ điều gì. Chúng giải thích cách truy cập cửa hàng trực tiếp bên ngoài một Component (nếu bạn phải) và cũng đề cập đến các chức năng thuần túy/triết lý lập trình hàm cũng như các vấn đề hiệu suất tiềm năng khi kết nối một loạt các chức năng không phải thành phần với cửa hàng trực tiếp. Cá nhân, tôi đã đi với @anoop và thông qua các params xung quanh trong một đối tượng duy nhất sâu sắc khi cần thiết.

Đối với kết nối trực tiếp (mà được các cửa hàng từ this.context đường connect() không, vui lòng xem thảo luận here và bình luận đặc biệt gaearon về ngày 16 Tháng Chín năm 2015 và ngày 22 tháng 9 năm 2015. Dường như truy cập này có thể đạt được thông qua connect()

Đối với đọc một chút về lập trình/chức năng thuần túy chức năng, xem thảo luận here

Các vấn đề liên quan