当前位置: 首页 > 工具软件 > Remax > 使用案例 >

【remax】学习day5

汪鸿波
2023-12-01

ContextContext

提供了一个无需为每层组件手动添加 props,就能在组件树间进行数据传递的方法

props: 只允许父子之间传递,context: 组件之间传递

API:
React.createContext

创建一个 Context 对象。当 React 渲染一个订阅了这个 Context 对象的组件,这个组件会从组件树中离自身最近的那个匹配的 Provider 中读取到当前的 context 值。

只有当组件所处的树中没有匹配到 Provider 时,其 defaultValue 参数才会生效

Context.Provider

动态context

export const themes = {
light: {
foreground: '#000000',
background: '#eeeeee',
},
dark: {
foreground: '#ffffff',
background: '#222222',
},
};

export const ThemeContext = React.createContext( themes.dark // 默认值);

todoContext.item被todo.useState赋值的时候:

只有这种方法能被赋值,其他的不行,初始化之后就赋值失败

const temp_items = todo.items; // 必须先和todo相关一下
temp_items.userName = user? user.nickName:"none";
temp_items.playerNums = player_nums;
temp_items.password = room_password_create;
temp_items.loginSuccess = user? true:false;

todo.setItems(temp_items);
 类似资料: