私はいくつかの条件を考慮してレンダリングするコンポーネントを持っています。戻り値のコンポーネント内部関数が機能しない
const Test =() => {
return <div className="text_align_center white_color">
<span><i className="fa fa-exclamation-triangle" aria-hidden="true"></i>
No internet connection. Please check your connection settings and try again
</span>
</div>
}
function checkInternetConnection(){
isOnline().then(online => {
if(online === true){
console.log("Came in here")
return <Test/>
}
});
}
const App =() => (
<div className="ui container">
{checkInternetConnection()}
);
を次のように、私は私の関数を呼び出しています。しかし、問題は、本家の私は、返されたコンポーネントが表示されない場合、checkInternetConnection
関数内でコンソールログを取得していますされています。これは次のように行われていますこれの原因は何か?
'checkInternetConnection'関数が' undefined'を返しています。また、async関数からこのようなコンポーネントを返すべきではありません。 –
'checkInternetConnection'関数は何も返しません。おそらくあなたは約束を返すことを意味しましたか? '.then'に渡されたコールバックの戻り関数は、約束を作成する関数から返されることはありません。あなたの質問は、何よりも約束がどのように作用するかについての詳細かもしれません。 –
@CraZyは状態変数を使用し、promise内の状態を更新し、その状態変数を使用してコンポーネント[条件付きレンダリング]をレンダリングします。 –