title: Provide Inject not working properly in vue 3 composition API
body: <p>I am working with Vue 3 composition api and am retrieving weather data via <code>async/await fetch</code> and I get a 200 response and the data in the request within the Chrome Dev Tools.</p>
  <p>In the component receiving the data and making the call I have a <code>provide</code> method and then I am <code>inject</code>ing the data into another output component. The issue is in the <code>inject</code> component. The value for the <code>inject</code>ed variable is always null and does not update in the Vue Dev Tools so my data is never output to the screen. I went through the docs and the code is pretty much the same but I can't get it to work. Can anyone see an obvious issue?</p>
  <p>Receiving Component</p>
  <pre class="lang-js prettyprint-override"><code>setup () {
      async function getCurrentWeather () {
        const response = await fetch(`${baseWeatherApiUrl}q=${userInput.value}`);
  
        userInput.value = null;
  
        return weatherData.value = await response.json();
      }
  
      const returnedWeatherData = reactive(weatherData);
  
      provide('returnedWeatherData', returnedWeatherData);
  
      return {
        getCurrentWeather,
        userInput,
        weatherData
      }
    }
  </code></pre>
  <p>output component</p>
  <pre class="lang-js prettyprint-override"><code>setup () {
      //Provide default of empty object in case no results exist
      const weatherData = inject('returnedWeatherData');
  
      console.log(weatherData) //No output even when making a new request to the weather api
      
      return {
        weatherData
      }
    }
  </code></pre>
  <p>As a separate test I tried to <code>provide/inject</code> hardcoded values found in the docs but still <code>geolocation</code> when injected remains null.</p>
  <pre class="lang-js prettyprint-override"><code>provide('geolocation', {
        longitude: 90,
        latitude: 135
      })
  </code></pre>
  <pre class="lang-js prettyprint-override"><code>const userGeolocation = inject('geolocation')
  
  
      console.log(userGeolocation) // Nothing logged
  
      return {
        weatherData,
        userGeolocation
      }
  </code></pre>