taro
taro copied to clipboard
app.tsx 条件判断返回null会报错找不到页面实例
相关平台
微信小程序
小程序基础库: H5 使用框架: React
复现步骤
`import { Provider } from "react-redux"; import intl from "react-intl-universal"; import Taro from "@tarojs/taro"; import { useEffect, useState } from "react"; import { store } from "./store";
function App({ children }: any): any {
const [localeDone, setLocaleDone] = useState(false);
useEffect(() => {
Taro.request({
url: "get url api", // 异步获取json文件
success(res: any = {}) {
if (res.statusCode === 200 && res.url) {
Taro.request({
url: res.url,
success(result: any = {}) {
console.log("返回json", result.data);
if (result.statusCode === 200 && result.data) {
intl
.init({
currentLocale: "en-US",
locales: {
"en-US": result.data.EN,
"zh-CN": result.data.CH,
},
})
.then(() => {
setLocaleDone(true);
});
}
},
});
}
},
});
}, []);
return <Provider store={store}>{localeDone ? children : null}</Provider>;
}
export default App;`
期望结果
app.tsx 可以返回null,或者当state变化时children可以重渲染
实际结果
没有找到页面实例