Lifecycle component trong react
Câu 1:
Bạn có thể dùng theo 2 cách như sau:
- Nếu bạn đang dùng class component thì gọi API ở
componentDidUpdate
, hook này sẽ được gọi ngay sau khi bạnsetState
cho `cinema.maHeThongRap``. Demo:
componentDidUpdate(prevProps, prevState) {
if (prevState.maHeThongRap !== this.state.maHeThongRap) {
// gọi API ở đây
}
}
- Nếu bạn đang dùng functional component thì gọi API ở
useEffect
với dependency làcinema.maHeThongRap
, hook này cũng sẽ được gọi ngay khicinema.maHeThongRap
thay đổi . Demo:
useEffect(() {
// gọi API ở đây
}, [cinema.maHeThongRap])
Câu 2
-
Class component: Bạn có thể làm ở
UNSAFE_componentWillMount()
để đảm bảo dữ liệu được render càng sớm càng tốt khi component đc mount, hoặc ko thì làm ởcomponentDidmount
cũng được (hook này sẽ được gọi sau UNSAFE_componentWillMount 1 chút) -
Functional component: bạn gọi ở
useEffect
với dependency là mảng rỗng nhé. Demo:
useEffect(() {
// gọi API ở đây
},[]) // ko có dependency nên cả khối useEffect này chỉ đc chạy 1 lần, phù hợp cho việc khởi tạo dữ liệu (tương tự componentDidmount)
vuejs: làm trang admin
Vue router có trường meta
e có thể dùng trường đó để xác định ai là user thường ai là admin, đồng thời ở file cấu hình vue-router e viết thêm đoạn check beforeEach
, check trước khi vào 1 route xem ở meta
người đó có thoả mãn là user hay admin ko thì mới cho vào ko thì redirect đến 1 trang mặc định nào đó.
Xem ở link này nhé e: https://www.digitalocean.com/community/tutorials/how-to-set-up-vue-js-authentication-and-route-handling-using-vue-router
(kéo xuống dưới 1 chút đoạn cấu hình Vue router e sẽ thấy nhé)
Nhiều object follow Player unity 2d
Bạn để ý là ngay cả khi bạn dừng chuyển động và đứng im thì object chính của bạn vẫn bị "trôi" nhè nhẹ -> vị trí object chính thay đổi -> các object nhỏ cũng sẽ bị rung theo.
Ko rõ là bạn implement chuyển động của Player thế nào, nếu bạn đang dùng Input.GetAxis
thì đổi thành Input.GetRawAxis
để bỏ đi hiệu ứng "trôi" khi mình dừng bấm nút. Còn nếu ko phải thì bạn có thể check position của Player khi nào bé hơn 1 mức đủ nhỏ thì set nó chính xác bằng 0. Đồng thời ở Gift.cs
bạn nên để Move
ở LateUpdate
để đảm bảo là vị trí của Player update xong thì mới Move
các Gift
Run React Native
Lỗi này chạy react-native upgrade
nhé bạn.
Project clone từ git về thì thường npm install
+ cd ios && pod install
là chiến đc luôn
Không Hiển Thị App VueJS khi dùng npm run build
Bạn chưa đọc kĩ doc của VueJS rồi, khi bạn build project bằng npm run build
, Bạn không thể chỉ mở mỗi file index.html để chạy project mà bạn cần 1 webserver để làm điều đó. 1 trong những cách đơn giản đó là bạn tạo 1 server NodeJS Express với 1 route nào đó (ví dụ /) và trả về file index.html là được nhé.
Chi tiết ở trang chủ Vue-cli
Còn khi để chạy thật (production) thì bạn có thể vẫn dùng server NodeJS Express, nhưng cách mình khuyên là dùng 1 webserver như Nginx (hoặc Apache)
Các công nghệ xây dựng Forum website ?
Chào bạn,
Câu hỏi này mình sẽ trả lời bằng những gì mình hiểu biết được (cố gắng ), và mình cũng xin chỉ trả lời phần nào đó câu hỏi của bạn vì có những thứ như vBulletIn hay Xenforo bạn đề cập mình chưa từng dùng thử:
- Việc Viblo không dùng nền tảng sẵn có thay vào đó viết mới có thể do mục đích của Viblo có những nhu cầu mà 2 phần mềm (hay framework) bạn nói ra kia không đáp ứng được, đồng thời nếu khi Viblo lớn lên thì sự phụ thuộc vào 1 phần mềm nào đó sẽ thực sự là 1 trở ngại
- Việc viết mới thay vì dùng cái có sẵn đúng là ban đầu sẽ có những khó khăn vất vả nhưng có thể cho phép ta xây dựng nên đúng thứ chúng ta mong muốn sử dụng những công nghệ mới nhất, khi có lỗi lầm ta cũng sẽ dễ dàng hơn nhiều trong việc tìm và sửa lỗi. Đồng thời Ta không cần mua hẳn hẳn 1 con voi để chở một bao gạo có 20kg
- Theo mình tìm hiểu qua việc vọc Viblo và đọc được tin tuyển dụng từ Viblo, thì Viblo sử dụng NuxtJS - một Framework được xây dựng từ VueJS, để chạy được NuxtJS thì phải có NodeJS, Đó là cho phần frontend (những thứ hiển thị ở trình duyệt). Còn cho phần backend thì Viblo sử dụng Laravel (quản lý user, bài viết,....)
Frontend là những gì bạn thấy ở trình duyệt, là bộ mặt bên ngoài của 1 cỗ máy, cái mọi người nhìn thấy, còn backend là những hoạt động phía trong, cái cốt lõi của bộ máy đó. Bạn có thể hiểu như thế
Tại sao một số trang như Viblo hay tinh tế lại dùng 2 ngôn ngữ NodeJS và PHP:
- Như mình nói ở trên Viblo dùng NuxtJS và để chạy được NuxtJS thì cần có NodeJS, và Viblo dùng Laravel (PHP) để làm phần backend (quản lý dữ liệu,...)
- Tinh tế cũng tương tự, Tinh tế dùng NextJS (framework dựa trên ReactJS), và để chạy NextJS cũng cần có NodeJS, và backend thì chắc cũng cùng lí do với việc Viblo chọn Laravel(PHP)
- Việc Viblo và tinh tế dùng NodeJS và PHP theo mình nghĩ là để tận dụng sức mạnh của NodeJS cho frontend và của Laravel(PHP) cho phần quản lý dữ liệu phía sau
Bạn có cần chọn 2 ngôn ngữ? Câu trả lời là tuỳ nhu cầu của bạn và khả năng của bạn
Bạn hoàn toàn có thể chỉ dùng mỗi NodeJS cho cả frontend lẫn backend
Vậy chọn PHP cho cả frontend lẫn backend được không? Câu trả lời là được, nhưng vì công nghệ frontend của PHP khá là nghèo nàn so với Javascript ở thời điểm hiện tại, nên theo mình thấy việc tận dụng các thư viện, framework Javascript như Vue hay React để làm frontend sẽ tốt hơn là dùng PHP cho frontend.
Nếu bạn muốn thì cũng có thể dùng "mix" như Viblo hay tinh tế đã làm
Hi vọng giúp bạn được phần nào thắc mắc
Các kĩ năng
Tổ chức
Chưa có tổ chức nào.