我正在创建一个 Vuejs 应用程序,并且想使用 Vuex。
但我无法添加 Vuex 商店。
这是我的代码:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
userData: "USER!"
},
mutations: {
},
actions: {
},
getters: {
}
})
export default store
Run Code Online (Sandbox Code Playgroud)
我收到错误:
未捕获的语法错误:请求的模块“/node_modules/.vite/vue.js?v=52de2cee”不提供名为“default”的导出
main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from '@/router'
const app = createApp(App)
import Vuex from 'vuex'
import { store } from '@/store/users'
app.use(router)
app.use(Vuex)
app.mount('#app')
Run Code Online (Sandbox Code Playgroud)
我做错了什么?多谢。
我正在创建一个 Flutter 应用程序。我在项目中添加了一个 BloC 以管理状态。我创建了一个包含数据的列表。我想使用“添加”按钮手动将项目添加到 ListView。
我写了一段代码:
我的物品 肘节
class ItemCubit extends Cubit<List<Item>> {
ItemCubit() : super([]);
void addItem(item){
state.add(item);
emit(state);
}
}
Run Code Online (Sandbox Code Playgroud)
提供者的项目页面:
class SearchPage extends StatelessWidget {
const SearchPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: BlocProvider(
create: (_) => ItemCubit(),
child: Search(),
),
);
}
}
Run Code Online (Sandbox Code Playgroud)
我在 Stateless Widget 中调用 BlocBuilder,如下所示:
body: BlocBuilder<MarketCubit, List<Market>>(
builder: (context, items) => TabBarView(...))
Run Code Online (Sandbox Code Playgroud)
所以当我从状态调用我的函数时:
Item item = Item(1, 'Item 1');
ElevatedButton(onPressed:(){
context.read<ItemCubit>().addItem(item);
}, child: Text('Add …Run Code Online (Sandbox Code Playgroud)