ちょっと混乱していることの1つは、ルート名とキーの違いと、なぜあなたが相手を使うかということです。そして、重複したルート名がどのように処理されるか。反応ナビゲーションでrouteNameとkeyの違いは何ですか?
https://reactnavigation.org/docs/navigators/navigation-prop
これは、あなたが画面に移動しrouteName
を使用し、key
であることをことを言う「のルートをソートするために使用される一意の識別子。」どういう意味ですか?
外側のタブと内側のスタックの両方が同じルート名を持っているので、私の例に示すようにルート名がユニークである必要はないようです。ナビゲート機能を使用するときは、ルート名を渡しますか?もしそうなら、ネストされたナビゲータの重複したルート名と、キーをいつ代わりに使うのかはどのように区別されますか?
export TabsNavigator = TabNavigator({
Home: {
screen:StackNavigator({
Home: { screen: HomeScreen },
}),
},
Profile: {
screen: StackNavigator({
Profile: { ProfileScreen },
}),
},
});
ドキュメントには、キーを設定する例がありますが、私はそれをやろうとしているものの文脈を理解することはできません、またはなぜあなたは本当のユースケースでそれを行うだろう。あなたは、画面を表示する/開くことナビゲーター(例えばStackNavigator
)に指定された画面の名前を使用し https://reactnavigation.org/docs/navigators/navigation-prop
import { NavigationActions } from 'react-navigation'
const setParamsAction = NavigationActions.setParams({
params: {}, // these are the new params that will be merged into the existing route params
// The key of the route that should get the new params
key: 'screen-123',
})
this.props.navigation.dispatch(setParamsAction)
NavigationActionsを使用していない場合はどこでキーを指定しますか? StackNavigatorのルート定義にありますか? – vijayst
ユニークキーを設定する場所は?それは画面ごとまたはナビゲータごとですか? Docsはキーでかなり悪いです... – CoredusK