THẢO LUẬN

Avatar
đã bình luận câu trả lời trong câu hỏi
thg 9 9, 2019 6:16 SA

@thanhtungs Bạn có thể share lại solution của mình lên để cho ae trên Viblo tham khảo được ko?

0

Bạn có ứng dụng Next nào áp dụng thằng i18n đa ngôn ngữ vào chưa nhỉ, cho mình tham khảo với. Mình đang tìm hiểu nó để build cho app của mình mà trên mạng ít docs quá.

0
Avatar
đã bình luận cho bài viết
thg 9 9, 2019 4:37 SA

Mình mới tìm hiểu với Nextjs và build thử ứng dụng với nó, cũng khá dễ dàng, gần giống y chang với React. Chỉ có config khá khó khăn do docs ít. Mình đang tìm hiểu áp dụng i18n đa ngôn ngữ vào next, không biết bạn có app nào làm cái này rồi không cho mình tham khảo với. Docs trên mạng ít quá.

0
Avatar
đã bình luận cho bài viết
thg 9 9, 2019 4:33 SA

Capture.PNG im not find

0
thg 9 9, 2019 4:19 SA

@thanh_tuan ok bạn không có gì 🤝

+1

nice 😃)

+1

Không bạn. Vì mỗi một vòng for là 1 const mới rồi nên về cơ bản không thay đổi giá trị của const đấy đâu

0
for (let i=0; i <arr.length ; i++){
    arr[i] = new Object();
    const _type = (i%2 ===0)? 'even' : 'odd'
    console.count(_type + ' added' );
}

Chỗ này dùng const không báo lỗi hả bạn?

0

mình cũng chăng phải dân chuyên về cái này cho lắm, cảm ơn đã chia sẻ

0

tấu hài coding 😂

0

cảm ơn bạn 😃

0

cảm ơn anh đã theo dõi 😃

0

Cái này gọi là Sprite animation.

+1

😃)) ý bảo con thỏ ấy 61280879_2303045613278707_6262650302885789696_n.jpg

+1

Cũng hay 😃) 😃) 😃)

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 9 9, 2019 3:50 SA

@HuyDQ mình test thử thì đúng như bạn nói thật, mỗi khi action được phát động -> nó vẫn gọi lên API.

OKbạn nhé, nhờ bạn giải thích mình đã hiểu hơn rất nhiều rồi.

Cám ơn bạn nhiều nha 💯

+1
thg 9 9, 2019 1:31 SA

@thanh_tuan takeLatest nó vẫn gọi API liên tục nhưng chỉ sẽ lấy kết quả cuối cùng nhé bạn còn takeEvery thì nó sẽ phụ thuộc vào kết quả nhanh chậm khi gọi API nên không đảm bảo cho bạn kết là lấy kết qả cuối cùng

+2
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 9 8, 2019 11:24 CH

@HuyDQ , mình xin hỏi ý này đầu tiên, bạn nói là:

Với cách viết thông thường là định nghĩa 1 cái saga sau đó gán 1 action cho saga đó bằng cách dùng takeEvery hoặc takeLatest thì với mỗi action được dispatch nó sẽ liên tục gọi đến cái function saga mà bạn định nghĩa

Cái này theo như mình tìm hiểu thì nó chỉ đúng với takeEvery thôi chứ còn với takeLatest nó sẽ không vị gọi liên tục nữa mà sẽ chỉ lấy lần cuối cùng thôi chứ nhỉ ?

0
thg 9 8, 2019 9:11 SA

@thanh_tuan ok bạn 😄. Bạn có thể hiểu đơn giản như này:

  • while thì các action trong đó bắt buộc sẽ phải thực hiện đúng thứ tự. Như ví dụ là LOGIN_REQUEST trước rồi mới LOGOUT.
  • fork() là thay vì bạn chạy đồng bộ (sync) từ trên xuống dưới thì fork() sẽ giúp bạn chạy dạng bất đồng bộ (async) vì cái

Thêm nữa là người ta vẫn có thể viết thành 2 function là:

export function* login() {
  yield takeEvery(types.LOGIN_REQUEST, doLogin);
}

export function* logout() {
  yield takeEvery(types.LOGOUT, doLogout);
}

Tuy nhiên theo document thì cách viết trên sẽ làm logic của bạn phân tán thành nhiều chỗ đồng thời sẽ khó đọc hơn so với việc bạn dùng while vì nhìn vào hàm đó bạn có thể thấy được ngay flow chạy là LOGIN_REQUEST rồi mới LOGOUT. Trên thực tế không phải chỗ nào bạn cũng cần viết như trên mà chỉ chỗ nào nó là một flow có thứ tự như việc LOGIN, LOGOUT trong ví dụ trên

+2
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí