setuptools на python3.0

При использовании перехватчиков вы должны соблюдать определенные правила перехвата (на данный момент их всего два):

  1. Только перехватчики вызовов на верхнем уровне
  2. [ 118] Только Call Hooks из функций React

Пытаясь передать ловушку обычной функции , вы нарушаете обе из них . И хотя эти правила являются скорее соглашениями, чем фактическими ограничениями и могут работать (, как другие в этой теме упоминали ), в некоторых случаях ( либо вы знаете, где и почему вы можете их использовать, либо вы случайно) удовлетворяя требованиям их использования ) , не рекомендуется использовать их таким образом. Например, через некоторое время вы можете забыть, что ваша функция содержит хук и фактически зависит от того, где и как она объявлена ​​и используется, и переместить ее или поставить в условную, эффективно нарушающую логику вашего приложения.

Очень важно, чтобы ребята из React придумали специальный плагин ESlint , который предназначен для анализа вашего кода в фоновом режиме и точного предупреждения, когда вы близки к нарушению правил хуков. Это способ узнать наверняка.

Если вам все еще нужно извлечь некоторую зависимую от перехвата логику из вашего компонента в отдельную функцию, рассмотрите возможность создания пользовательского перехватчика .

НО!

В вашем примере кода вы не передаете функцию функции. React.useState - это хук, но возвращаемое им setX - нет. Вы можете передать его так, как вам нравится, и вы на самом деле должны передать его вашим обычным функциям или пользовательским хукам!

5
задан Ricardo Saporta 9 March 2013 в 19:44
поделиться

2 ответа

Setuptools 0.7 и более поздние версии поддерживают Python 3.

Setuptools на практике долгое время не обслуживались, и это побудило нескольких человек объединиться и создать форк, названный "Distribute", который был перенесен на Python 3 с 2009 года.

Однако в 2013 году проекты объединились, и теперь Setuptools и Distribute стали одним и тем же. При установке Distribute будет установлен пустой пакет, который ничего не делает, кроме установки Setuptools.

23
ответ дан 18 December 2019 в 05:44
поделиться

== Этот ответ устарел ==

Похоже, что setuptools в настоящее время находится в процессе переноса на Python 3. Похоже, есть некоторые трудности. Это объясняется более подробно Леннартом Регебро здесь:

http://regebro.wordpress.com/2009/04/21/setuptools-on-python-3-work-on-hold/

http: / /www.mail-archive.com/ distutils-sig@python.org/msg07183.html

http://regebro.wordpress.com/2009/02/01/setuptools-and-easy_install-for-python-3

3
ответ дан 18 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: