webtoon property를 초기화할 때, 다른 property인 id에 대한 접근이 불가하다.
왜냐면 statelesswidget에 처음 하는건
class의 member들을 define하고 초기화하는 것 뿐
그래서 이렇게 어떤 property를 초기화할 때 다른 property로 접근할 수 없다.
그래서 이걸 하려면 약간 다르게 접근해야 한다.
우선, statelesswidget을 statefulwidget으로 바꾼다.
사용자가 thumb(사진)을 누르면 Navigator.push → MaterialPageRoute → DetailScreen에 title, thumb, id를 보낸다.
DetailScreen은 StatefulWidget이다.
data들(title, thumb, id)가 class _DetailScreenState extends State<DetailScreen> { 까지 전달되지 않았는데, 우린 데이터를 쓰고 싶다.
그럼 widget.title로 하면 된다.
여기서 widget은 DetailScreen이다.
이게 State의 build method가 State가 속한 StatefulWidget의 data를 받아오는 방법이다.
widget의 의미는 부모로 가라는 의미이다.
StatelessWidget은 그냥 title, thumb, id를 쓰면 되고,
StatefulWidget은 State의 build method에서 widget.title이라고 적어야 함.
initState()에서는 widget.id에 접근할 수 있다.
widget을 적어야하는 이유는 별개의 class에서 작업하고 있기 때문이다.
우리는 State를 extend하는 class에 있는데,
datasms StatefulWidget인 DetailScreen으로 전달 된다. (HomeScreen으로 받은 데이터)
State class에서 해당 데이터를 받기 위해 widget.id라고 적고 있다.
그럼 이제, webtoon이라는 Future를 안전하게 초기화할 수 있게 됐다.