Tôi có thành phần thùng chứa phản ứng redux được tạo trong thành phần Bộ điều hướng gốc phản ứng. Tôi muốn để có thể vượt qua các hoa tiêu như một prop để thành phần container này để sau khi một nút được nhấn bên trong thành phần presentational của nó, nó có thể đẩy một đối tượng vào ngăn xếp navigator.Chuyển đạo cụ tới thành phần thùng phản ứng-redux
Tôi muốn làm điều này mà không cần phải viết tay tất cả mã boilerplate mà thành phần thùng chứa phản ứng redux mang lại cho tôi (và cũng không bỏ lỡ tất cả các tối ưu mà phản ứng-redux sẽ cung cấp cho tôi ở đây).
Ví dụ mã thành phần container:
const mapStateToProps = (state) => {
return {
prop1: state.prop1,
prop2: state.prop2
}
}
const mapDispatchToProps = (dispatch) => {
return {
onSearchPressed: (e) => {
dispatch(submitSearch(navigator)) // This is where I want to use the injected navigator
}
}
}
const SearchViewContainer = connect(
mapStateToProps,
mapDispatchToProps
)(SearchView)
export default SearchViewContainer
Và tôi muốn để có thể gọi các thành phần như thế này từ bên trong chức năng navigator renderScene
tôi:
<SearchViewContainer navigator={navigator}/>
Trong đoạn mã chứa trên, Tôi cần có khả năng truy cập vào bộ phận được truyền từ bên trong chức năng mapDispatchToProps
.
Tôi không ưa thích lưu trữ trình điều hướng trên đối tượng trạng thái redux và không muốn chuyển phần tử xuống thành phần presentational.
Có cách nào để tôi có thể vượt qua đề xuất cho thành phần vùng chứa này không? Ngoài ra, có cách tiếp cận thay thế nào khác mà tôi đang xem không?
Cảm ơn.
Tôi làm cách nào để có quyền truy cập vào nó trong mapDispatchToProps? – Michael
@Michael theo cùng một cách, bạn có thể sử dụng đối số thứ hai –