[react-ネイティブ]エラーコメント🐛

6172 ワード


ケース


🐛 1.日付変更状況


(9月24日->9月25日)アプリケーションは終了せず、バックグラウンドの場合フロントに戻ると新しいデータが届きます.日付値は9月25日ではなく、1週間前の9月18日です.
1-1
これらの不変の値はconst.jsで組み合わせられて使用され、日付は変更されたが、日付値は更新されなかった.
(アプリケーションはバックグラウンドではなくバックグラウンドで完了するのでconst.jsの値はxに更新されます)
  • 元コード
  • //const.js
    	...
    const date = new Date();
    export const YEAR = date.getFullYear();
    export const MONTH = date.getMonth() + 1;
    export const DAY = date.getDate();
    	...
    日付をconstに設定し、日付が変更されたときに日付を更新できません.
    スケジュール管理アプリなのでよくMONTH、TODAYといった日付値を使うので、new Date()は面倒だと思い、よく使う価格なので、contに入れるべきだったのですが、過去を反省してみましょう、本当に日付が変わって、なんとcontに入れることに.
    contを使用して管理される値は、不変の値のみです.
    この値を関数に変更して、更新された値として常に受信し、日付値を返します.
  • 変更コード
  • //time.js
    export const getDate = () => {
      const date = new Date();
      const YEAR = date.getFullYear();
      const MONTH = date.getMonth() + 1;
      const DAY = date.getDate();
      return {
        YEAR, MONTH, DAY
      };
    };
    //다른 파일에서 사용할때 
    export const makeScheduleDate = (toDos, toDoArr, day) => {
      const { DAY, MONTH, YEAR, TODAY, TOMORROW, YESTERDAY } = getDate();
      ...

    🐛 2.日付が変わりましたが、ホームページに戻ると前日のデータが残っています。


    これはstoreに新しい値を入れるべきだと思いますが、そうすると前の値+新しい値があります.変更した値だけがreRenderになると思います新しい値に更新するには、ホームページ自体がrerenderが必要だと思います.homeRenderという値をグローバルに処理するためにrudexに追加し、、、、、、、そうですか.