Wie der Titel schon sagt, versuche ich einen Weg zu finden, meine Requisiten von einer Komponente an eine andere zu übergeben, die nicht miteinander verwandt sind. Das einzige, was ihnen verwandt ist ein Link:Wie Requisiten Requisiten zwischen zwei nicht verwandten und zustandslosen Komponenten übergeben?
const ConversationPreview = (props) => {
var people = props.people;
const messages = props.messages;
const conversationName = people.map(person => {
// Filter message from conversation's sender
function filterMessageBySender(obj){
if ('from' in obj && obj.from === person.nickname) {
return true;
}
}
const messagesByCurrentSender = messages.filter(filterMessageBySender);
const lastMsg = messagesByCurrentSender[messagesByCurrentSender.length - 1]
function passProps() {
return <Conversation people={people} />
}
return (
<li key={person.id}>
<Link to={`/${person.nickname}`} onClick={passProps}>
<Avatar image={person.pic} />
{person.nickname}
<p> {lastMsg.body} </p>
</Link>
</li>
)
});
return (
<ul>
{conversationName}
{props.children}
</ul>
)
};
Und das ist die Komponente, die die Menschen Requisiten erhalten sollten:
const Conversation = (props) => {
console.log(props);
//console.log(people);
function findConversationPerson(person){
return person.nickname === props.params.conversation
}
const currentPerson = peopleOld.find(findConversationPerson);
return (
<div>
<header>
<Avatar image={currentPerson.pic} />
<h1> {props.params.conversation} </h1>
</header>
<main>
<MessagesList sender={currentPerson}/>
</main>
</div>
)
};
Gibt es eine (gut) so oder sollte ich wieder denke, das Ganz im Sinne der Strukturierung der App?
Was ist Ihre Struktur? dh haben die Komponenten die gleichen Eltern/s usw.? Kein –
, alle Eltern gemeinsam ist eine einfache Chat-Anwendung mit Struktur ähnlich whatzapp: 1_ ConversationsLIst 1a_ConversationsPreview 2_Conversation 2a_ConversationName 2b _... ich brauche ein paar Informationen zu Unterhaltung senden. Sie können aus ConversationsList oder ConversationsPreview stammen. –
Versuchen Sie dies aus dem anderen Beitrag, http://StackOverflow.com/Questions/30115324/Pass-Props-in-Link-React-Router –