Dva: Setelah sistem keluar, bagaimana satu pernyataan dapat menghapus semua data di penyimpanan, dan kesalahan dilaporkan saat rute bersarang menyegarkan halaman.

Dibuat pada 9 Feb 2017  ·  3Komentar  ·  Sumber: dvajs/dva

Selama pengoperasian pengguna, sistem menyimpan data operasi terakhir dari fungsi tersebut, tetapi setelah keluar, pengguna lain masuk dan menemukan bahwa data pengguna sebelumnya masih ada Bagaimana satu pernyataan dapat menghapus data di seluruh penyimpanan ?

Ada masalah lain. Perutean sistem saya menggunakan bersarang. Kunjungi: http://localhost :8000/main/repos. Saat ini, ketika f5 di-refresh, seluruh halaman kosong. Console: Uncaught SyntaxError: Unexpected token <, index .js:1, dan kemudian saya tidak dapat melihat kode sumber di konsol...

question

Komentar yang paling membantu

@bjwulin baru saja memecahkan masalah ini. Menurut apa yang dikatakan
Pertanyaannya sekarang adalah bagaimana mendapatkan keadaan awal. Tentu saja, kita dapat menulis status aslinya secara langsung di index.js. Namun, dengan perubahan bisnis, jika Anda ingin mengubah beberapa status, Anda harus datang ke index.js untuk juga mengubah status awal yang sesuai, yang sangat merepotkan. Jadi lebih mudah untuk mengimpor langsung dari model.
kode tampilkan seperti di bawah ini:

const models=[];
models.push(require('./models/exhibit'));
models.push(require('./models/user'));
const initialState={};
models.forEach((m)=>initialState[m.namespace]=m.state);
const undo = r => (state, action) => {
  const newState = r(state, action);
  if (action.type == 'user/logoutOnlyStatus') {
    return {
      routing: newState.routing,
      ...initialState
    }
  }
  else {
    return newState
  }
};
const app=dva({
  onError(e){
    console.log(e)
  },
  onReducer: undo
});
app.model(require('./models/exhibit'));
app.model(require('./models/user'));
app.router(require('./router'));
app.start('#root');

Semua 3 komentar

Bagaimana satu pernyataan dapat menghapus data di seluruh toko?

Intercept action dengan onReducer

Lalu saya tidak dapat melihat kode sumber di konsol ...

index.js diubah menjadi /index.js

@bjwulin baru saja memecahkan masalah ini. Menurut apa yang dikatakan
Pertanyaannya sekarang adalah bagaimana mendapatkan keadaan awal. Tentu saja, kita dapat menulis status aslinya secara langsung di index.js. Namun, dengan perubahan bisnis, jika Anda ingin mengubah beberapa status, Anda harus datang ke index.js untuk juga mengubah status awal yang sesuai, yang sangat merepotkan. Jadi lebih mudah untuk mengimpor langsung dari model.
kode tampilkan seperti di bawah ini:

const models=[];
models.push(require('./models/exhibit'));
models.push(require('./models/user'));
const initialState={};
models.forEach((m)=>initialState[m.namespace]=m.state);
const undo = r => (state, action) => {
  const newState = r(state, action);
  if (action.type == 'user/logoutOnlyStatus') {
    return {
      routing: newState.routing,
      ...initialState
    }
  }
  else {
    return newState
  }
};
const app=dva({
  onError(e){
    console.log(e)
  },
  onReducer: undo
});
app.model(require('./models/exhibit'));
app.model(require('./models/user'));
app.router(require('./router'));
app.start('#root');

@zhangdistephen Saya mendapatkan kesalahan ketika saya menggunakan onReducer. Kesalahannya adalah nilai toko tidak dapat dibaca.Milik saya adalah memuat model secara asinkron, sepertinya tidak mungkin untuk mengubah ke sinkron

Apakah halaman ini membantu?
0 / 5 - 0 peringkat