用状态管理整个项目