Как получить доступ к значениям родительского состояния из компонента заголовка пользовательской реагирующей навигации - PullRequest
1 голос
/ 10 мая 2019

Этот вопрос похож на этот Доступ к значениям состояния из родительского объекта с использованием собственной навигации реагирования

за исключением того, что в связанном вопросе он использует конфигурацию заголовка реагирования навигации по умолчанию, я использую пользовательский.

//code in the parent
static navigationOptions = {
        headerTitle: <MyCustomHeader/>, //my custom header component
        headerStyle: { //applies to the View
            backgroundColor: colors.darkThemeBackground,
        },
        headerTintColor: colors.whiteText,
    };

Родитель содержит плоский список, и в моем настраиваемом компоненте заголовка есть кнопка, которая, когда я нажимаю его, я хочу, чтобы он мог обновлять данные в плоском списке. Это будет означать, что мой пользовательский компонент заголовка должен иметь доступ к значениям состояния родителей.

Я не уверен, как это сделать с моим настраиваемым заголовком компонента.

1 Ответ

0 голосов
/ 10 мая 2019

Вы можете сделать то же самое, что и ответ на вопрос, который вы упомянули , но просто передать нужные реквизиты

class YourComponent extends Component {
  componentDidMount(){
    this.props.navigation.setParams({
      yourFuntion: this._yourfunction,
    })
  }

  yourfunction = () => {
    // handle thing with state here
  }
}

navigationOptions: ({ navigation }) => {
        const yourFuntion = navigation.getParam("yourFuntion", ()=>{});
        headerTitle: <MyCustomHeader yourFuntion={yourFuntion}/>, //pass what you want in prop
        headerStyle: { //applies to the View
            backgroundColor: colors.darkThemeBackground,
        },
        headerTintColor: colors.whiteText,
    };

Я не уверен, что это то, что вы хотите, но из вашего вопроса я понял, что вы хотите получить реквизит в компоненте и вставить его в свой пользовательский заголовок, так что делайте как другой вопрос, но просто передать его в реквизит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...