THẢO LUẬN

thg 5 22, 2020 2:26 SA

@mister_n mình cũng cũng chưa thử nhưng xóa đi cài lại là cách nhanh nhất . Nhưng cảm ơn bác đã tư vấn

0
thg 5 22, 2020 2:23 SA

Thường thì search trên google những file svg bản đồ Việt Nam thì ko thấy có Hoàng Sa, Trường Sa nhỉ 😐

0
thg 5 22, 2020 2:02 SA

Mình đã thử nhưng nó không hoạt động . Ngay cả khi đã có phiên bản mới trên CH play nhưng app không hiện cập nhật . Mà phải mở CH play -> xem bản cập nhật -> vào app mới hiển thị bản cập nhật . thật khó chịu khi phải mở CH play để hiển thị cập nhật

0
thg 5 22, 2020 1:54 SA

hay quá, mình cũng đang tìm hiểu về cái này

+1
thg 5 22, 2020 1:28 SA

💯

0
thg 5 22, 2020 12:51 SA

Bai viet rat bo ich

0
thg 5 21, 2020 3:02 CH

@trunk

sudo chmod -R 777  laradock/nginx/startup.sh

xem sao =))

0
thg 5 21, 2020 2:44 CH

@thanh_tuan

  • về việc nó return null, thì khi sử dụng inline function (trong trường hợp này là lastUser), mỗi lần render nó sẽ tạo ra function lastUser mới, nên React sẽ xoá ref cũ và tạo ref mới, khiến ta thấy hành vi: "ra null rồi lại ra node". Việc này đã đc đề cập ở official doc: https://reactjs.org/docs/refs-and-the-dom.html#caveats Screen Shot 2020-05-21 at 21.35.43.png

  • về việc tại sao nó lại tạo 1 function lastUser mới mà ko dùng lastUser trước đó: là vì bạn chưa cung cấp dependency list cho nó, nên dù đã bọc bởi useCallback thì nó vẫn luôn tạo ra function lastUser mới ở mỗi lần render. Vì vậy, sửa cũng khá đơn giản: ta thêm dependency cho nó, chắc sẽ như nầy :v

  const lastUser = useCallback(node => {
    console.log('useCallback >>>', node)
  }, [users]) // => users mà ko đổi thì lastUser cũng vậy
+1
thg 5 21, 2020 1:16 CH

Dựa vào đoạn code của bạn, mình đã viết thêm cách sử dụng useState để so sánh thì thấy dùng useReducer loằng ngoằng dài dòng hơn useState rất nhiều, useState chỉ mất có mất dòng code, ko hiểu useReducer nó hơn chỗ nào

  • useReducer:

Screen Shot 2020-05-21 at 19.54.12.png

  • useState:

Screen Shot 2020-05-21 at 19.55.14.png

0
thg 5 21, 2020 11:56 SA

Chào bạn, mình đưa 1 ví dụ bạn tham khảo nhé:

Thay vì cú pháp longhand như sau:

var type = 'coke';
var drink;
switch(type) {
case 'coke':
  drink = 'Coke';
  break;
case 'pepsi':
  drink = 'Pepsi';
  break;
default:
  drink = 'Unknown drink!';
}
console.log(drink);
// Coke

Chúng ta có thể thay thế bằng đoạn code dưới

function getDrink (type) {
  return 'The drink I chose was ' + {
    'coke': 'Coke',
    'pepsi': 'Pepsi',
    'lemonade': 'Lemonade'
  }[type];
}
getDrink('coke')
// The drink I chose was Coke
0
thg 5 21, 2020 11:40 SA

cho mình hỏi khi mà bài nhạc chạy hết mình muốn nó tự chuyển sang bài tiếp theo thì phải làm sao ạ

0
thg 5 21, 2020 10:47 SA

Dạ vâng anh @lequynam93, hợp lý quá ạ 😃
Em cảm ơn anh đã góp ý để hoàn thiện bài viết tốt hơn ạ ^^

0
thg 5 21, 2020 10:44 SA

Cảm ơn @thiewd2000 đã ủng hộ nha ^^

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 5 21, 2020 9:51 SA

@hwng bạn ơi, bạn xem giúp mình chỗ này được không:

https://codesandbox.io/s/usestate-load-more-3d5cg

Tại sao trong lần render() cuối cùng useCallback() của mình lại chạy vào 02 lần và có một lần log ra là null. Mình đang chưa hiểu chỗ này, bạn xem giúp mình được không ạ

0
thg 5 21, 2020 8:59 SA

Hay

0

Bạn có thể viết cases[something]() để chạy hàm luôn thay vì dùng switch. Nhược điểm là default sẽ không hoặc động.

0

Hi bạn, đối với hàm "driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);" là câu lệnh để browser sẽ phải chờ 10s trước khi bắn ra Exeption, trong 10s thì nếu element của bạn chưa load trong DOM thì sẽ bắn ra exeption. Còn với Explicit Wait thì sẽ giúp bạn đợi 1 element theo 1 điều kiện nào đó, tùy vào trường hợp sẽ sử dụng bạn nhé Hiện tại mình ko thấy được kịch bản code của bạn là gì nên chưa thể giúp bạn được. Thân

0

Bài viết rất dễ hiểu. Cảm ơn bạn! 💯

0
thg 5 21, 2020 6:25 SA

Em cam on nha.

+1
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í