クラスのヘッダータイトルを次のような別のクラスから変更したい:
これは、ボタンを使用して、最初のクラスのタイトルを変更したい2番目のクラスです。
export default class lingua extends React.Component {
cambiolingua= () =>
{
const registra = new Registra(); //in this class I want to change title
registra.ChangeTitle('New Title');
this.props.navigation.navigate('Registra')
}
そして、これは私がタイトルを変更する必要がある最初のクラスです:
export default class Registra extends React.Component {
static navigationOptions = ({ navigation }) => {
const {state} = navigation;
return {
title: `${state.params.title}`,
};
};
ChangeTitle = (titleText) => {
const {setParams} = this.props.navigation;
setParams({ title: titleText })
}
しかし、「undefined is a object( '_this.props.navigation'を評価する)ではない」というエラーを受け取ります
どうすれば解決できますか?
回答 1 件
関連記事
- ReactNativeは別のクラスに移動します
- 別の変数が変更されるたびに、クラス内の1つの変数を変更するにはどうすればよいですか? Python
- React別のコンポーネントのdivと変数の値を返す方法
- JAVAでこれを使用して、ENUMクラス関数内のENUMの値を変更します
- Python:子ではない別のクラスのクラス属性にアクセスする
- クリック時にボタンクラスを変更するにはどうすればよいですか?
- Reactを使用して別のユーザーが選択されたときにリストからユーザーの選択を解除するにはどうすればよいですか?
- 別の条件付き反応の中で条件付きを使用する
- React Jsのリンクを使用して、オブジェクトをあるページから別のページに渡します
- ピクチャーボックスの画像を別のフォームから変更するにはどうすればよいですか?
関連した質問
- Androidアプリを使用してマップボックスGLを適切に設定するにはどうすればよいですか?
- ReactNativeのスクロールビューとカルーセル画像を同期する際の問題
- React Hooks + Firebase Firestore onSnapshot:反応フックを備えたfirestoreリスナーの正しい使用
- reactフックを使用してreactnativeのTextInputでオブジェクトの配列の特定の文字列を変更するにはどうすればよいですか?
- useStateフック配列のconsolelogは、AxiosでのGETリクエスト後に数回ログに記録されます
- フェッチREACTjsからマップ関数を表示する方法
- 'dayjs'はプロジェクトの依存関係のlintエラーにリストされている必要があります
- 反応ネイティブにおけるグローバル変数の動的変化
- オプションフォームからreactでグラフを変更するにはどうすればよいですか?
- オブジェクトを配列にプッシュしてネイティブに反応させる
まず、エラーは小道具
navigation
を持っていないという事実に起因しています あなたのクラスでlingua
。これは、lingua
という事実によって説明できます。 は、stackNavigator
のシーンではありません (または反応ナビゲーションからのあらゆる種類のナビゲーター)。2つの解決策があります。 1)ナビゲーションプロップをスタック内の画面からこのコンポーネントに渡します。 2)高次コンポーネント
withNavigation
を使用できますreact-navigation
のlingua
に追加する例:
あなたがするようにnavigationOptionsを更新するよりもタイトルを変更するより良い方法は
Registra
にナビゲートすることです 目的のタイトルを直接送信します。これにより、タイトルを更新するためにRegistraのメソッドを呼び出す必要はありません。
それが役に立てば幸い!