如何解决从另一个有状态小部件中的一个有状态小部件获取可变数据
从另一个有状态小部件中的一个有状态小部件获取变量数据,它们彼此之间没有关系(它们既不是孩子也不是父母)
我希望能够访问另一个文件中的数组(posts
)...您可以在代码中查看注释以获取更多信息
我有这个stateful
小部件
import 'package:Flutter/material.dart';
import 'package:saviortv/modules/fetchPosts.dart';
import 'package:saviortv/ui/BuildPost.dart';
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: posts == null ? 0 : posts.length,// <== here posts is undefined because it doesn't exist as I want to get it from the other file (See below)
itemBuilder: (BuildContext context,int index) {
return buildPost(context,posts,index); //Building the posts list view
},);
}
}
另一个Stateful
小部件
class FetchPosts extends StatefulWidget {
FetchPosts({Key key,this.pageNumber = 1}) : super(key: key);
final int pageNumber;
@override
_FetchPostsstate createState() => _FetchPostsstate(pageNumber);
}
class _FetchPostsstate extends State<FetchPosts> {
_FetchPostsstate(this.pageNumber);
int pageNumber;
List<wp.Post> posts = []; //<== I want this to be useable in the other file;
Future<String> getPosts() async {
var res = await fetchPosts(pageNumber);
print(pageNumber);
setState(() {
posts = res;
});
return "Success!";
}
// Get _ when app loads;
@override
void initState() {
super.initState();
this.getPosts();
}
@override
Widget build(BuildContext context) {
return Container();
}
}
我该如何实现?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。