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á.
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á.
@thanh_tuantakeLatest 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
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ỉ ?
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
THẢO LUẬN
@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?
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á.
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á.
@thanh_tuan ok bạn không có gì
nice
)
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
Chỗ này dùng const không báo lỗi hả bạn?
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ẻ
tấu hài coding
cảm ơn bạn
cảm ơn anh đã theo dõi
Cái này gọi là Sprite animation.
hay quá
Cũng hay
)
)
)
@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
@thanh_tuan
takeLatestnó 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òntakeEverythì 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@HuyDQ , mình xin hỏi ý này đầu tiên, bạn nói là:
Cái này theo như mình tìm hiểu thì nó chỉ đúng với
takeEverythôi chứ còn vớitakeLatestnó 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ỉ ?@thanh_tuan ok bạn
. Bạn có thể hiểu đơn giản như này:
whilethì các action trong đó bắt buộc sẽ phải thực hiện đúng thứ tự. Như ví dụ làLOGIN_REQUESTtrước rồi mớiLOGOUT.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áiThêm nữa là người ta vẫn có thể viết thành 2 function là:
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
whilevì nhìn vào hàm đó bạn có thể thấy được ngay flow chạy làLOGIN_REQUESTrồi mớiLOGOUT. 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ệcLOGIN,LOGOUTtrong ví dụ trên