THẢO LUẬN

thg 9 14, 2020 2:13 SA

@HaiHaChan dạ không sao. Bài viết ổn rồi anh

+1
thg 9 14, 2020 2:12 SA

@minhnv thì làm sao (tat)

0
thg 9 14, 2020 2:11 SA

@HaiHaChan anh kìa 😆

0
thg 9 14, 2020 2:08 SA

Ủng hộ bác viết thêm bài (y)

0
thg 9 14, 2020 2:08 SA

@khacy_win Em thấy làm việc có tính nhất quán trong code là khá quan trọng, sau này maintain hay phát triển tiếp cũng dễ hơn.

0
thg 9 14, 2020 1:56 SA

Cảm ơn bạn 😃

0

Bài viết hay quá anh.

0
Avatar
đã bình luận cho bài viết
thg 9 13, 2020 4:09 CH

bài viết rất chi tiết cảm ơn anh

0
thg 9 13, 2020 1:43 CH

@maitrungduc1410 ok, cảm ơn b nhé 😀

+1
thg 9 13, 2020 11:39 SA

@nguyennhudat Đúng rồi bạn, mình chỉ cần khai báo biến môi trường. Khi container MySQL chạy lên nó sẽ đọc và tạo user tương ứng

+1
thg 9 13, 2020 11:16 SA

@maitrungduc1410 ok, cảm ơn b để mình thử lại với cái host kia và chuyển thành .env

  • Còn ý thứ 2 ý mình là mình đang hiểu cái image cấu hình trong docker-compose là mysql khác mới hoàn toàn. Sao nó hiểu được và kết nối với username, password khai báo b nhỉ, mình cứ khai báo thế rồi nó sẽ tự tạo cho mình ak, mình đang thắc mắc vậy 😀
0
thg 9 13, 2020 11:09 SA

🙌🙌

0
thg 9 13, 2020 11:07 SA
  • như lỗi in ra kia thì ở bên NodeJS bạn cấu hình host MySQL chưa chính xác, từ NodeJS kết nối sang MySQL thì bạn phải để host là tên của service chạy MySQL trong docker-compose.yml, ví dụ: db:3306, chứ ko phải 127.0.0.1:3306 nhé.
  • Việc dùng .env là tùy chọn nhé bạn. Chỉ là nếu để ở .env thì docker-compose có thể đọc được.
  • Ở bài sau Dockerize ứng dụng Chat realtime với Laravel bạn sẽ thấy cách mình tạo username + password cho MySQL nhé
+1
thg 9 13, 2020 10:49 SA

B cho mình hỏi chút, mình muốn cấu hình với mysql, mình chạy kết nối với mysql, ko dùng docker chạy ok rồi. Nhưng chạy với docker đang báo lỗi ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED 127.0.0.1:3306 . Trong code mình ko dùng .env mà dùng một file js config để lấy username, host, password... Có cần phải cấu hình để kết nối với mysql dùng .env ko b nhỉ? Mình cũng muốn hỏi thêm là làm sao mysql trong docker-compose khi pull về có thể kết nối với username, password... đã khai báo b nhỉ, mình đang hiểu là khi pull image mysql thì nó chưa có username nào? Cảm ơn b!

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

Thanks

0

Nhìn cái bảng trông chết khiếp 😄

0

Bài không biết góp nhặt chắp vá ở đâu, quá nhiều lỗi chính tả!

0

Trả lời cho câu hỏi trong bài viết, đây là code khi extract widget Scaffold ra class riêng là MyScaffoldWidget :

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MyScaffoldWidget();
  }
}

class MyScaffoldWidget extends StatelessWidget {
  
  Widget build(BuildContext context) { // context này của MyScaffoldWidget, mà MyScaffoldWidget là cha của Scaffold luôn rồi
    return Scaffold(
      body: Center(
        child: FlatButton(
          child: Text('show snackbar'),
          color: Colors.pink,
          onPressed: () {
            final snackBar = SnackBar(content: Text('Lỗi không thể truy cập bài viết này vì thấy hay mà không vote'));
            Scaffold.of(context).showSnackBar(snackBar);
          },
        ),
      ),
    );
  }
}

Nhìn vào code, bạn cũng thấy widget MyScaffoldWidget là cha của Scaffold luôn rồi. Và trong các widget cha của MyScaffoldWidget gồm MyHomePage, MyApp không có ai là Scaffold cả nên tất nhiên cách này sẽ bị bug.

Tương tự sử dụng Builder wrap Scaffold vẫn sẽ bị bug:

class MyHomePage extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return Builder(
      builder: (context) => Scaffold(

Xin chúc mừng bạn nào có câu trả lời giống tui là: "KO FIX ĐƯỢC BUG NHÉ" 😄

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