THẢO LUẬN

ở bảng products (chứa danh sách sản phẩm), a để thêm 1 trường category_id (khóa ngoại đến id của danh mục sản phẩm) thì khi truy vấn a dùng 1 query sẽ tối ưu và trả về danh sách sản phẩm tương ứng với từng danh mục 😄

0
thg 11 18, 2019 7:20 SA

@buihieubthc2rb : uh, bạn dành thời gian ra xem giúp là mình cũng trân trọng rồi. Cảm ơn bạn hiền nhe.

+1

@DatB Cảm ơn bạn đã quan tâm bài viết của mình nhé 😘

0
thg 11 18, 2019 7:06 SA

@quocdungabc có vẻ là mình cũng chưa hiểu code trên nhiều nên không thể giúp bạn giải quyết 🙇

0

Cảm ơn tác giả nhé 👍👍

Rất mong có thể đọc thêm được nhiều bài của bác nữa

+2

Anh ơi khi nào có thời gian anh viết lách tiếp cho chúng em được học nhé (y) Bài hay và dễ hiểu quá anh (y)

+1
thg 11 18, 2019 6:46 SA

Mình có 2 cái request API là

  • Lấy danh mục sản phẩm
  • Lấy danh sách sản thẩm theo id của danh mục

Đức cho mình hỏi là có dùng 2 cái này lồng vào nhau dc ko? Hay phải viết riêng 1 cái Lấy danh sách sản phẩm theo list danh mục?

0
thg 11 18, 2019 6:39 SA

@buihieubthc2rb ah action của mình nè:

const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    sendEditDataToStore: (sendEditData) => {   dispatch({type:"GET_EDIT_DATA",sendEditData}) }
  }
}

Lúc này mới gửi qua store, mà mình bị kẹt ở bước lấy nên chưa gửi qua được. (Phải bấm nút Save thì action này mới thực thi)

+1
thg 11 18, 2019 6:25 SA

"Để có sử dụng ta phải đăng ký nó trong function bool() của AppServiceProvider". Này là boot() hả tác giả hay tạo 1 cái bool() ?!

0
thg 11 18, 2019 5:57 SA

@quocdungabc

//Lấy dữ liệu từ form Edit và gán vào state
  isChange = (event) => {
    
    const name = event.target.name;
    const value = event.target.value;
    this.setState({[name]: value});
  }

Nhưng mà ở hàm onChange này thì bạn mới chỉ làm thay đổi state nội bộ, chưa thấy có gọi đến action thay đổi store. Còn ở render thì bạn vẫn dùng prop (lấy từ store). Có vẻ là vấn đề ở đây.

0

async await với promise call back nó đều có ưu nhược điểm riêng, ko cái nào replace được cái nào cả.

+1
thg 11 18, 2019 5:30 SA

à chuẩn rồi bro =)) mình nhớ có 1 trường hợp vẫn dùng được cái mapping port kia nhưng ko tính là giao tiếp giữa container vì là run outside the container. (nhớ nhầm sang trường hợp đó nên phản pháo ngay =)) ) đúng là phải có 1 cái để ánh xạ chung thì các container mới giao tiếp được với nhau, thank bro vì góp ý nhé. để mình edit lại đoạn đầu bài viết :v lú quá :v

0
thg 11 18, 2019 5:21 SA

mình dùng tài khoản mặc định thì nó báo lỗi như trên

0

a cũng chúc e thành công nhiều hơn thế 😉

0

Cám ơn bạn đã theo dõi, có nhiều thứ mình muốn chia sẻ nhưng chưa nghĩ ra chủ đề phù hợp để viết, nhưng chắc sẽ có docker,server, ci/cd nhé, vì đấy cũng là món mình rất thích 😄

0

cám ơn e đã theo dõi, 😄

0

về việc dùng debugger thay vì console.log mình không có ý kiến gì 😃, tùy vào việc cái nào tiện cho bạn hơn và bạn thấy nó có ích hơn. Mình thì vẫn dùng console.log vì đôi khi code NodeJS debug trên terminal khá nhanh và tiện. Còn nếu bạn muốn dùng debugger thì cũng rất ok vì sẽ có được thông tin chi tiết hơn 😄. Ở trong bài mình cũng code note cho các bạn là xóa console.log trước khi commit, vì thực sự mình cũng khá bị đau mắt khi đọc code người khác mà toàn console.log 😉

0
thg 11 18, 2019 4:49 SA

khi mình install thì bị lỗi này Unable to locate publishable resources. và đăng nhập thì báo lỗi These credentials do not match our records. ai biết cách fix chỉ mình với thanks

0
thg 11 18, 2019 4:41 SA

Mình đọc nãy giờ mà chưa hiểu lắm. File store của mình thế này, giờ sửa lại như nào bạn.

//ĐÂY LÀ FILE store.js
import * as firebase from 'firebase';
import {gymData} from './firebaseConnect';
//Khai báo biến redux
let redux = require('redux');

//Khai báo reducer
const allReducerInitialState = {
  editData:{},
}
const allReducer = (state = allReducerInitialState, action) => {
  switch (action.type) {
    case "ADD_DATA":
      let ketnoi1 = firebase.database().ref('dataForGym');
      ketnoi1.push(action.customer);
      console.log("Thêm dữ liệu thành công!");
      return state

    case "GET_DATA"://Lấy dữ liệu đưa qua store khi bấm vào nút Edit
      return {...state,editData:action.getOneRow}

    case "GET_EDIT_DATA"://Lấy dữ liệu ĐÃ SỬA đưa qua store và update lên firebase
      let ketnoi2 = firebase.database().ref('dataForGym');
      ketnoi2.child(action.sendEditData.id).update({
        fullname:action.sendEditData.fullname,
        email:action.sendEditData.email,
        phonenumber:action.sendEditData.phonenumber,
        birthday:action.sendEditData.birthday,
        homeaddress:action.sendEditData.homeaddress,
        registrationdate:action.sendEditData.registrationdate,
        expirydate:action.sendEditData.expirydate
      })
      console.log("Cap nhat thanh cong!");
      return {...state,editData:{}} //update xong thì gán về rỗng

    default:
      return state
  }
}

//Khai báo store
let store = redux.createStore(allReducer);

//theo dõi state của store, thay đổi thì in ra màn hình
store.subscribe(function(){
  console.log(JSON.stringify(store.getState()));
})

export default store;

0
thg 11 18, 2019 4:40 SA
  • Mình muốn chạy trước khi render để có dữ liệu thì dùng DiDMount bị muộn rồi ạ.
  • state đó mình lấy bên store (editData) rồi phun ra form luôn chứ chưa đổ vào state nội bộ của form Edit được, hic. Đang vướng chỗ này.
  • Uhm, mình xài csdl firebase. Cảm ơn pác nhe.
0
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í