Передача строк в функцию React

Я создал простую функцию, которая принимает имя параметров и адрес электронной почты и отображает их на экране.

Вот мой код:

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

const datarow = props => <div><b>Name:{props.myname}</b><br></br><b>Email:{props.email}</b></div>;

function App() {
  return <datarow myname='James' email='[email protected]' />;
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Однако, когда я выполняю это в CodeSandbox, результирующая страница пуста. Никаких ошибок компиляции не происходит. Что я делаю неправильно? Я ожидаю, что я смогу передать имя и адрес электронной почты в эту функцию и получить результат на экране.

вернуть div в строке данных

Gavin Thomas 11.02.2019 00:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
1
48
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Компонент реакции должен начинаться с заглавной буквы.

Измените его на:

const DataRow = (props) => <div><b>Name:{props.myname}</b><br></br><b>Email:{props.email}</b></div>;

const App = () => <DataRow myname='James' email='[email protected]'/>;
Ответ принят как подходящий

Компоненты React всегда должны быть в корпусах Camel

Проверьте документацию здесь: https://reactjs.org/docs/glossary.html#components

Вместо этого измените свой код на это:

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

const DataRow = props => <div><b>Name:{props.myname}</b><br></br><b>Email:{props.email}</b></div>;

function App() {
  return <DataRow myname='James' email='[email protected]' />;
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Вау, спасибо! Не могу поверить, что это все было! Я привык к строго типизированному и жесткому языку, такому как C#, так что можно было подумать, что я его усвоил. Думаю, я даже не думал, что корпус может быть причиной. Спасибо Бон! И всем ответившим :)

JamesMatson 11.02.2019 00:45
Datarow не верблюжий корпус. DataRow есть.
Ahmad 11.02.2019 00:55

Другие вопросы по теме

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

Redux Form + React Native Elements запускает проверку слишком рано
Компонент объявлен, но никогда не используется
Почему мой this.props.data становится неопределенным в любом месте перед функцией рендеринга?
Redux - компонент не перерисовывается с использованием connect ()
React — использование асинхронности для componentDidMoutn
Реакция компонента более высокого порядка на аутентификацию firebase не отправляет обновленное состояние компоненту
Я получил данные API и вставил объект состояния, и я хочу отсортировать этот извлеченный массив и отобразить его
Библиотека тестирования React: нужен ли мне новый тест с новыми селекторами для каждого тестового ключа?
«(AppContainer)RangeError: превышен максимальный размер стека вызовов» — реагировать с помощью горячего загрузчика
Как я могу включить скомпилированный компонент реакции js из скомпилированного одностраничного приложения реакции js?