THẢO LUẬN

Jul 6th, 2021 4:03 a.m.

@HungSmeb code của bạn bị lỗi ở trong component <Popup /> nhé. Cụ thể bạn để ý component của bạn có id của button là:

<>
    <button
        id="PopoverClick"
        type="button"
        className="popup__btn popup__btn-open "
   >

Đồng thời các cái <Popover /> cũng tương tự có id là PopoverClick. Khi bạn render bảng dưới dạng map như đang làm hiện tại nó sẽ tạo ra 3 component Popup giống hệt nhau dẫn đến khi bạn click thì nó sẽ chỉ nhận cái cuối cùng thôi do toàn bộ bị trùng phần id. Giải pháp ở đây rất đơn giản, bạn chỉ cần đổi cái id trong button và trong cả <Popover /> component về dạng id={popover_${debt.id}}

0
Jul 6th, 2021 2:44 a.m.

Untitled.png có chạy được đâu nhỉ, ai làm thành công thì giúp mình với

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jul 6th, 2021 2:26 a.m.

Bạn có thể vào xem rồi note lại cho mình được không ạ : https://codesandbox.io/s/sweet-currying-j8nlj?file=/src/components/Table/Table.jsx mình đọc qua vẫn chưa hiểu

0
Jul 6th, 2021 1:42 a.m.

nét, thanks

+1
Jul 5th, 2021 7:19 p.m.

Bạn ơi, mình có thắc mắc để chạy các dòng lệnh sau

Cài đặt mkcert tool

brew install mkcert

Thiết lập mkcert trên máy tính của bạn (Tạo a CA)

mkcert -install

thì mình chạy nó ở đâu vậy ạ , mình thử chạy nó trong vs code thì bị báo lỗi . Bạn giải đáp giúp mình với, Thank bạn

0

Cám ơn bạn, đọc bài viết này mình xem lại được cái nhìn tổng quan về chứng chỉ PMP cũng như các thủ tục cần thiết để chuẩn bị luyện thi chứng chỉ này.

0

Bài viết rất hay. Cảm ơn!

0

Bài viết tiếp theo nhé b !

0

hóng các bài tiếp, hôm nay ngồi cả ngày đọc seri bài viết cũng thông não nhiều thứ quá. xin chủ thớt contact để trao đổi chiêu thức

0

Bạn có thể bổ sung khi cách deploy Laravel queue, schedule luôn ko?

0

quá hay. thanks tác giả

0

Ơn giời, sau khi hạ socket.io-client -> 2.3.1 thì của mình đã chạy rồi .

+1

@maitrungduc1410 Hi chào ban, hic lại là mình đây. Bên laravel-echo-server hiện tại mình đã broadcast được event rồi. nhưng bên phía client thì mình không listen đươc event. Đây là code bên client:

private Echo = new Echo({
    broadcaster: 'socket.io',
    //client: Socketio,
    host: 'http://localhost:12081', // local testing
    //host: new URL(process.env.apiBaseUrl!).hostname
  });

this.Echo.channel('public')
      .listen('.PublicEvent', function(e: any) {
        console.log(e);
      });

Phía nginx mình cũng đã setup:

location /socket.io {
        proxy_pass http://laravel_echo_server:6001;
        proxy_redirect     off;
        proxy_http_version 1.1;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header Host $host;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Đây là file docker-compose.yml của mình

version: "3"

services:
  web:
    container_name: "line_web"
    build:
      context: .
      args:
        - APP_ENV=${APP_ENV}
        - INSTALL_XDEBUG=${INSTALL_XDEBUG}
    ports:
      - "12081:80"
    volumes:
      - .:/var/www/
      - ./.docker/nginx/conf.d/:/etc/nginx/conf.d/
      - ./.docker/nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./.docker/php/7.4/php-fpm.d/www.conf:/usr/local/etc/php-fpm.d/zzz-www.conf
      - ./.docker/php/7.4/php.ini:/usr/local/etc/php/php.ini
#      - ./.docker/php/7.4/php.ini:/etc/php7/php.ini
    links:
    - db
    - redis
    - mailcatcher
    - laravel_echo_server

  node:
    image: node:12.12-alpine # dockerhubにすでに上がっている
    tty: true
    ports:
      - "3011:3000" # localhost:3000にポートをマッピングする
    working_dir: /var/www
    volumes:
      - ./frontend:/var/www # ./srcをコンテナ内の/var/wwwにマウントする
    environment:
      PORT: 3000
      HOST: 0.0.0.0
#    command: "yarn dev" # upする際に実行されるコマンド
    restart: always # エラーなどでコンテナが落ちた際に自動で再起動してくれる
    depends_on:
    - web


  mailcatcher:
    image: yappabe/mailcatcher
    ports:
      - 12026:1025
      - 12089:1080
  db:
    image: mysql:5.6.37
    container_name: "line_mysql"
    ports:
      - "13327:3306"
    volumes:
      - ./.docker/mysql/custom.cnf:/etc/mysql/conf.d/custom.cnf
      - ./.docker/mysql/charset.cnf:/etc/mysql/conf.d/charset.cnf
      - ./.docker/mysql/init:/docker-entrypoint-initdb.d
      - ./.db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=pass
      - MYSQL_DATABASE=line
  redis:
    image: redis
    container_name: "line_redis"
    ports:
      - "16380:6379"

  laravel_echo_server:
    build:
      context: .docker/laravel-echo-server
      dockerfile: Dockerfile
    volumes:
      - .env:/app/.env
    restart: unless-stopped


volumes:
  redis-data:
    driver: local

Laravel worker của mình cũng chạy rồi Mình thấy websocket của mình trên browser cũng trả về 200 rồi mà vẫn không nhận được event. Bạn có thể xem giùm mình xem cấu hình của mình có sai sót gì không với. và cách debug ở bên client .

image.png

0
Jul 5th, 2021 8:02 a.m.

tại e k đăng vào group cty ạ 😃))

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jul 5th, 2021 7:40 a.m.

camr onw ban bữa giờ mình bận chưa check tý mình implement lại xem mình mới nên code theo kiểu logic dễ hiểu còn tối ưu thì mình chưa biết 😛

+1

Mình chưa hiểu ỏ một số nơi có dấu back-slash lắm, ví dụ như \Lag và \Exception, mình đã thử bỏ đi thì lại phải import lại (mà gợi ý import lại không đúng lắm). Cho mình hỏi là dấu "" có vai trò như thế nào vậy? image.png

0

@dinhlongit chạy kpi ít thôi bạn ơi 😦

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í