Я работаю над проектом Preact, и это код страницы:
return (
<Fragment>
<div style = {gridStyle}>
<p>Test</p>
</div>
<Keyboard offset = {this.state.octaveAdj} highlightTable = {highlightTable} highlightColor = {colorIndex} />
<KeySelector selectedKey = {selectedKey} link = {true} />
<Playbox offset = {this.state.octaveAdj} highlightTable = {highlightTable}
raiseOctave = {this.raiseOctave} lowerOctave = {this.lowerOctave}
risingDisabled = {this.state.octaveAdj === MAXoctaveAdj} lowerDisabled = {this.state.octaveAdj === MINoctaveAdj}
color = {color} />
<ChordDetail chord = {chord} inversion = {inversion} color = {color} />
<ChordSelector selectedKey = {selectedKey} />
</Fragment>
);
На сервере разработки (которым управляет Parcel) все отображается так, как задумано, за исключением файла div.
gridStyleэто правильный объект JS:
const gridStyle = {
display: 'grid',
gridTemplateColumns: 'repeat(4, 1fr)',
gridTemplateRows: '1fr 1fr',
};
Я пробовал убрать div и оставить только p, но ничего не меняется. Это приводит меня к выводу, что это проблема каждого собственного HTML-элемента, в отличие от компонентов, которые отображаются нормально. Но даже когда я помещаю это в компонент, вот так:
import { Component } from 'preact'
const styles = {
display: 'grid',
gridTemplateColumns: 'repeat(4, 1fr)',
gridTemplateRows: '1fr 1fr',
};
export default class Test extends Component {
constructor() {
super();
}
render() {
return (
<div style = {styles}>
<p>Test</p>
</div>
)
}
}
И добавьте его в код, он все равно не рендерится.
Что можно с этим сделать?
Редактировать: Это мой .parcelrc:
{
"extends": "@parcel/config-default",
"transformers": {
"*.{ts,tsx}": [
"@parcel/transformer-typescript-tsc"
]
},
"reporters": [
"...",
"parcel-reporter-static-files-copy"
]
}
Как вы настроили Parcel? Вы правильно настроили JSX?
@JeffBowman Как мне это воспроизвести? Я не могу просто загрузить весь проект, это даже не мой проект.
@rschristian Я только что установил плагин Babel, и ничего не изменилось. Что касается посылки, см. Редактирование моего сообщения.
@mikwee Вам, как всегда, нужна минимальная репродукция. Найдите минимальный репозиторий, демонстрирующий проблему. В противном случае мы не сможем вам помочь, мы не сможем увидеть ваши файлы.
@mikwee Все, что вы нам показали, выглядит правильно, поэтому я попытался это воспроизвести. Если вы не знаете, как добиться провала, мы тоже этого не сделаем. Где-то между моим рабочим примером и вашим неудачным случаем существует разрыв, и без вашей помощи я не знаю, хватит ли у нас как ответчиков информации, чтобы закрыть его.
@rschristian @jeff-bowman Итак, послушайте, я установил два плагина Babel — @babel/plugin-transform-react-jsx-development и @babel/types — и теперь они работают! Раньше у меня была неразработанная версия предыдущей версии, думаю, мне нужна была версия для разработчиков для режима разработки!





Это было исправлено после установки @babel/plugin-transform-react-jsx-development. Когда я обнаружил проблему, я находился в режиме разработки, поэтому думаю, вам нужна именно версия для разработчиков.
Если хотите, вы можете принять свой ответ, поставив галочку в знак того, что вопрос решен. Рад, что ваша среда работает!
Я воссоздал вашу среду на скрипке (jsfiddle.net/bhtxvwp3), но не смог воспроизвести вашу проблему. Можете ли вы отредактировать его, чтобы воспроизвести наблюдаемое поведение?