1
大規模なアプリケーションにReact
、Meteor
およびReact Router
を使用しています。ルートコンバート後にcreateContainerがデータを受信しない(リアクタルーター)
ブラウザの履歴に戻ると、先に進むとcreateContainer
のデータが消えるようです。これまで私はすべてを試みましたが、この問題は引き続き起こります。これがなぜ起こるのかあなたが知っていますか?どのようにそれを解決するには?どんな助けでも大歓迎です。
全ページを強制的に更新しても問題ありません。私のコンポーネントの輸出の
ワン:
export default createContainer((params) => {
const subs = {}
subs.image = Meteor.subscribe('contents.images');
subs.provider = Meteor.subscribe('contentProviders.images');
const data = {}
data.image = CloudinaryImageContent.findOne({ _id: params.match.params.id });
data.provider = CloudinaryProvider.findOne();
return { subs, data }
}, ImageContentEditPage);
私のラップコンポーネントで、私はちょうどこの特定のシナリオではcomponentWillReceiveProps
componentWillReceiveProps = ({data}) => {
this.setState({provider: data.provider, image: data.image});
}
console.log(subs)の結果が得られたら? –
リンクまたはhistory.pushを使用してページに移動すると、すべて正常です。前のデータが消えると戻るボタンを押すと、次のボタン(ブラウザの)を押すと同じことが起こります。 –
createContainerに何かを記録して確認してください。 createContainerは確実にルートに戻るときに実行する必要があります。 見た目からは、何らかの理由で定期購入が変更されていると言えます。理由を把握してみてください。 – Sudhanshu