【发布时间】:2021-11-01 23:33:18
【问题描述】:
我试图用 React 制作一个天气应用程序。但是,我遇到了一个我无法解决的错误。
这些是我的代码:
App.js:
import './App.css';
import SelectCity from './components/SelectCity';
import CityProvider from './context/CityContext';
function App() {
return (
<CityProvider>
<SelectCity></SelectCity>
</CityProvider>
)
}
export default App;
SelectCity.js:
import {useContext} from 'react'
import useTurkeyCities from "use-turkey-cities"
import CityContext from '../context/CityContext'
function SelectCity() {
const { cities, city } = useTurkeyCities()
const { contextCity, setContextCity } = useContext(CityContext)
return (
<div>
<select
onChange={e => {
setContextCity(e.target.value);
}}
value={city}
>
{cities.map(city => (
<option key={`city-${city}`} value={city}>
{city}
</option>
))}
</select>
</div>
)
}
export default SelectCity
CityContext.js:
import { createContext, useState } from "react";
const CityContext = createContext()
export const CityProvider = ({children}) => {
const [contextCity, setContextCity] = useState(null)
const cityValues = {
contextCity,
setContextCity
}
return <CityContext.Provider value={cityValues}>{children}</CityContext.Provider>
}
export default CityContext
但我有 TypeError: render is not a function。有什么办法解决这个问题,我不明白
【问题讨论】:
-
如果代码中没有任何私有内容,生成代码框总是很棒的。 :) 特别是对于这样的长/多文件问题...
标签: reactjs react-context