Tôi có một thành phần vùng chứa react-redux được tạo trong thành phần React Native Navigator. Tôi muốn có thể vượt qua trình điều hướng làm chỗ dựa cho thành phần vùng chứa này để sau khi nhấn một nút bên trong thành phần hiện tại của nó, nó có thể đẩy một đối tượng lên ngăn xếp điều hướng.
Tôi muốn làm điều này mà không cần phải viết tay tất cả mã soạn sẵn mà thành phần chứa react-redux cung cấp cho tôi (và cũng không bỏ lỡ tất cả các tối ưu mà react-redux sẽ cung cấp cho tôi ở đây).
Mã thành phần vùng chứa mẫu:
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 thành phần như thế này từ bên trong renderScene
hàm điều hướng của mình :
<SearchViewContainer navigator={navigator}/>
Trong mã vùng chứa ở trên, tôi cần có thể truy cập vào phần hỗ trợ đã chuyển này từ bên trong mapDispatchToProps
hàm.
Tôi không 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 hỗ trợ xuống thành phần trình bày.
Có cách nào tôi có thể chuyển một chỗ dựa cho thành phần vùng chứa này không? Ngoài ra, có bất kỳ cách tiếp cận thay thế nào mà tôi đang bỏ qua không?
Cảm ơn.