score:2

there must be something wrong with code you didn't post because i can reproduce the code you posted and it's working fine.

note that token is in context.token.token

const authcontext = react.createcontext();
const authprovider = ({ children }) => {
  const [token, settoken] = react.usestate({
    token: '',
  });
  const addtoken = token => settoken({ token });
  return (
    <authcontext.provider
      value={{
        token,
        addtoken,
      }}
    >
      {children}
    </authcontext.provider>
  );
};
class componentone extends react.component {
  constructor(props) {
    super(props);
    promise.resolve().then(() =>
      this.context.addtoken('hello world')
    );
  }
  render() {
    return <div>in one: {json.stringify(this.context.token)}</div>;
  }
}
componentone.contexttype = authcontext;
const componenttwo = () => {
  const { token } = react.usecontext(authcontext);
  return <pre>in two: {json.stringify(token)}</pre>;
};
const app = () => (
  <authprovider>
    <componentone />
    <componenttwo />
  </authprovider>
);

reactdom.render(<app />, document.getelementbyid('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="root"></div>


Related Query

More Query from same tag