2017-03-24 38 views
10

Có thể truy cập toàn bộ trạng thái Redux bên trong tiêu đề tiêu đề của Điều hướng phản ứng không?Phản ứng điều hướng: Sử dụng/Thay đổi tiêu đề tiêu đề với trạng thái Redux

Các official docs nói rằng nhà nước tương ứng với chuyển hướng có thể truy cập:

static navigationOptions = { 
    title: ({ state }) => `Chat with ${state.params.user}` 
    }; 

Nhưng tôi muốn truy cập các phần khác của nhà nước Redux của tôi, với những cập nhật tiêu đề khi mà cập nhật trạng thái. Hôm nay có thể không?

+2

gì về phản ứng-mũ bảo hiểm kết nối với Redux? –

Trả lời

1

điều này là có thể với một giải pháp nhỏ. Tôi thậm chí sẽ không gọi đây là một cách giải quyết hoặc là tôi sẽ gọi đây là một tính năng tuyệt vời :-)

bạn chỉ phải sử dụng một thành phần mới trong tiêu đề của bạn như thế này:

static navigationOptions = { 
    header: (navigation) => { 
     return <HomeViewTitle />; 
    } 
} 

và sau đó bạn có thể kết nối trong HomeViewTitle trường hợp của tôi với tình trạng Redux:

import React, { Component } from 'react'; 

import { 
    View, 
    Text 
} from 'react-native'; 

import { connect } from 'react-redux'; 


class HomeViewTitle extends Component { 

    render() { 

     return (

      <View style={{height: 64, backgroundColor: '#000000', alignItems: 'center', justifyContent: 'center', paddingTop: 20}}> 
       <Text style={{color: '#FFFFFF', fontSize: 17, fontWeight: 'bold'}}>Home</Text> 
      </View> 

     ); 

    } 

} 

const mapStateToProps = (state) => { 
    return state; 
} 

export default connect(mapStateToProps)(HomeViewTitle); 

sau đó bạn có trạng thái Redux của bạn như đạo cụ trong HomeViewTitle và bạn có thể thiết lập các tiêu đề động

+0

Vì vậy, nó có thể đặt hình ảnh, nút, vv trong tiêu đề? Làm thế nào mà render? – amaurymartiny

+0

có thể đặt mọi thứ cơ bản vào tiêu đề. Nó làm giống như cách mọi thành phần kết nối Redux khác sẽ hiển thị. Trong trường hợp của tôi, tôi có một hình ảnh trong tiêu đề không có sẵn khi bắt đầu ứng dụng. Khi ứng dụng được tải, nó sẽ tạo một yêu cầu json và tải hình ảnh đó vào kho lưu trữ redux. Khi hình ảnh ở trong cửa hàng, nó cập nhật HeaderViewTitle và hình ảnh được hiển thị – vanBrunneren

+0

Tuy nhiên với phương pháp này, bạn sẽ mất tất cả các tính năng tạo kiểu nền tảng tự động xuất hiện trong hộp với điều hướng phản ứng. :( – Noitidart

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