LINUX.ORG.RU

История изменений

Исправление Syncro, (текущая версия) :

можно определить функцию useController в файле controller.ts внутри которого засунуть этот стейт и в return контроллера его прописать и затем использовать в компонентах примерно так:

geoCityController.ts:

type Props = {
..optional props
};

export function useGeoCityController(props: Props) {

 let { ..optioal props } = props;

 let [city, setCity] = useState('')

 return {
   city,
   setCity,
 }
}

any jsx:

export default function GetCity(props) {
  let { city, setCity } = useGeoCityController({ optioal props ..});  
  return (<div>city</div>);
}

а если есть возможность выбирать, используй лучше CustomElements из стандартов Web Components для компонентной организации фронтенд кода, они просты и элегантны и работают в любом современном бравзере без транспиляторов и библиотек. Для межкомпонентного взаимодействия там можно использовать браузерные эвенты Custom Events или инжектить сервисные классы, на хабре я писал статью про это.

Исправление Syncro, :

можно определить функцию useController в файле controller.ts внутри которого засунуть этот стейт и в return контроллера его прописать и затем использовать в компонентах примерно так:

geoCityController.ts:

type Props = {
..optional props
};

export function useGeoCityController(props: Props) {

 const { ..optioal props } = props;

 let [city, setCity] = useState('')

 return {
   city,
   setCity,
 }
}

any jsx:

export default function GetCity(props) {
  const { city, setCity } = useGeoCityController({ optioal props ..});  
  return (<div>city</div>);
}

а если есть возможность выбирать, используй лучше CustomElements из стандартов Web Components для компонентной организации фронтенд кода, они просты и элегантны и работают в любом современном бравзере без транспиляторов и библиотек. Для межкомпонентного взаимодействия там можно использовать браузерные эвенты Custom Events или инжектить сервисные классы, на хабре я писал статью про это.

Исправление Syncro, :

можно определить функцию useController в файле controller.ts внутри которого засунуть этот стейт и в return контроллера его прописать и затем использовать в компонентах примерно так:

geoCityController.ts:

export function useGeoCityController() {
 let [city, setCity] = useState('')

 return {
   city,
   setCity,
 }
}

any jsx:

export default function GetCity(props) {
  const { city, setCity } = useGeoCityController({ optioal props ..});  
  return (<div>city</div>);
}

а если есть возможность выбирать, используй лучше CustomElements из стандартов Web Components для компонентной организации фронтенд кода, они просты и элегантны и работают в любом современном бравзере без транспиляторов и библиотек. Для межкомпонентного взаимодействия там можно использовать браузерные эвенты Custom Events или инжектить сервисные классы, на хабре я писал статью про это.

Исходная версия Syncro, :

можно определить функцию useController в файле controller.ts внутри которого засунуть этот стейт и в return контроллера его прописать и затем использовать в компонентах примерно так:

controller.ts:

export function useController() {
 let [city, setCity] = useState('')

 return {
   city,
   setCity,
 }
}

any jsx:

export default function GetCity(props) {
  const { city, setCity } = useController({ optioal props ..});  
  return (<div>city</div>);
}

а если есть возможность выбирать, используй лучше CustomElements из стандартов Web Components для компонентной организации фронтенд кода, они просты и элегантны и работают в любом современном бравзере без транспиляторов и библиотек. Для межкомпонентного взаимодействия там можно использовать браузерные эвенты Custom Events или инжектить сервисные классы, на хабре я писал статью про это.