相关疑难解决方法(0)

如何从Consumer更新Provider中的Context值

MyContext.js

import React from "react";

const MyContext = React.createContext('test');
export default MyContext;
Run Code Online (Sandbox Code Playgroud)

创建了一个上下文单独的js文件,我可以在父文件和子组件中访问它

Parent.js

import MyContext from "./MyContext.js";
import Child from "./Child.js";

class Parent extends Component {

    constructor(props) {
      super(props);
      this.state = {
        Message: "Welcome React",
        ReturnMessage:""
      };
    }

    render() {
        return (
           <MyContext.Provider value={{state: this.state}}>      
              <Child /> 
           </MyContext.Provider>
       )
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,在Provider选项卡中创建了一个父组件,其中包含Provider上下文和调用子组件

Child.js

import MyContext from "./MyContext.js";

class Child extends Component {

    constructor(props) {
      super(props);
      this.state = {        
        ReturnMessage:""
      };
    }

    ClearData(context){
        this.setState({
           ReturnMessage:e.target.value
        });
        context.state.ReturnMessage = ReturnMessage
    } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-context

19
推荐指数
4
解决办法
2万
查看次数

如何在 React Context 中实现可观察的值监视

假设我有一个Parent组件提供Context一个Store对象。为了简单起见,我们假设这个 Store 有一个值和一个更新该值的函数

class Store {
// value

// function updateValue() {}

}

const Parent = () => {
  const [rerender, setRerender] = useState(false);
  const ctx = new Store();

  return (
    <SomeContext.Provider value={ctx}>
      <Children1 />
      <Children2 />
      .... // and alot of component here
    </SomeContext.Provider>
  );
};

const Children1 = () => {
 const ctx = useContext(SomeContext);
 return (<div>{ctx.value}</div>)
}

const Children2 = () => {
 const ctx = useContext(SomeContext);
 const …
Run Code Online (Sandbox Code Playgroud)

javascript reactive-programming typescript reactjs react-context

8
推荐指数
2
解决办法
3893
查看次数

如何在 Apollo 客户端初始化中使用 React 的全局数据?

当谈到状态集中化时,我知道如何使用 context api 和 Redux。但要恢复该状态,我们始终必须位于反应组件内。

访问不在反应组件内部的公共函数内的全局状态/变量的最佳策略是什么?

在环境变量中不是一个选项,因为该值在应用程序运行后会更改。出于安全原因,我不想放入 cookie 或本地存储。

索引.ts

import React from 'react';
import ReactDOM from 'react-dom';
import { ApolloProvider } from 'react-apollo';
import apolloClient from './services/apollo';

import { PersonalTokenProvider } from './providers/personal-token';
import './index.css';
import App from './App';

ReactDOM.render(
  <React.StrictMode>
    <PersonalTokenProvider>
      <ApolloProvider client={apolloClient}>
        <App />
      </ApolloProvider>
    </PersonalTokenProvider>
  </React.StrictMode>,
  document.getElementById('root'),
);
Run Code Online (Sandbox Code Playgroud)

PresonalToken 上下文提供者

import React, { useState } from 'react';

interface ProviderProps {
  children: JSX.Element[] | JSX.Element;
}

export const PersonalTokenContext = React.createContext({});

export const PersonalTokenProvider: React.FC<ProviderProps> = ( …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native

5
推荐指数
1
解决办法
2159
查看次数

打字稿错误 - 无法在包装的子组件中找到反应上下文

我正在尝试使用这篇文章作为指导,从子组件动态设置父组件中的上下文

这是我的 App.tsx:

export interface User {
  username: string;
}

export interface iUserContext {
  users: User[];
  setUsers: React.Dispatch<React.SetStateAction<User[]>>;
}

function App() {
  const [users, setUsers] = useState<User[]>([]);
  const value = { users, setUsers };

  // set defaults
  const UsersContext = createContext<iUserContext>({
    users: [],
    setUsers: () => {},
  });

  return (
    <div className="App">
      <Router>
        <UsersContext.Provider value={value}>
          <Layout>
            <Switch>
              <Route path="/generated-links">
                <GeneratedLinks />
              </Route>
              <Route path="/">
                <GenerateLinks />
              </Route>
            </Switch>
          </Layout>
        </UsersContext.Provider>
      </Router>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

然后,在GenerateLinks.tsx中:

const GenerateLinks = () …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs react-hooks use-context

3
推荐指数
1
解决办法
2507
查看次数