Join our mailing list to receive the latest news and updates from our team.
You have Successfully Subscribed!
Kamala Harris has a real opportunity to contrast her humor and positive energy with a very dark vision from the GOP—without letting them dictate when it’s OK for her to laugh.
“I call her ‘laughing Kamala,’” former President Donald Trump said at a rally in Michigan on July 24. “Have you ever watched her laugh? She is crazy. You can tell a lot by a laugh. … She is nuts.”
As a professor of American studies with a focus on race and politics, I know that Black women in the U.S. have a history of struggle against violence and oppression. And too often when we experience joy, and show it, ridicule follows. We are said to be too loud, too emotional—well, too “Black women.”
Invisibility has long haunted Black girls and women. In response, their choices, from dress to spirituality to activist groups, often center on making themselves visible. They do this to highlight injustice and to offer a vision of justice based on their experiences.
As I see it, Black women deserve for some of that visibility to be joyful. In this realm, Harris is paving the way.
Elation in struggle
Many public views of Harris don’t reflect Trump’s framing. The vice president’s anecdotes, smile, laugh, and even—shocker—dancing in public have inspired a tidal wave of fan posts and videos celebrating her energy and what media scholar Jamie Cohen describes as her “endearing awkwardness.”
For these observers, Harris embodies the idea of Black joy—a national movement that started in 2020 after George Floyd was killed. As NAACP Legal Defense Fund senior writer Lindsey Norward explains:
In a book that I co-edited with Wake Forest University political science professor Julia Jordan-Zachery, we examined a related concept: Black Girl Magic. Our book described how Black girls and women maintain their humanity in the face of hostility by fostering community, countering invisibility and creating spaces for freedom.
Sometimes this means drawing attention to their struggles. One essay in the book cites African American Policy Forum executive director Kimberlé Crenshaw, explaining the hashtag #SayHerName, which was coined to raise awareness of Black women victims of police brutality and anti-Black violence.
“Although Black women are routinely killed, raped and beaten by the police, their experiences are rarely foregrounded in popular understandings of police brutality,” Crenshaw wrote. “Yet, inclusion of Black women’s experiences in social movements, media narratives, and policy demands around policing and police brutality is critical to effectively combating racialized state violence for Black communities and other communities of color.”
On July 23, 2024, Harris released a statement expressing grief at the “senseless death” of Sonya Massey, a 36-year-old Black woman who was fatally shot in her Illinois home by a sheriff’s deputy who responded to a report of a prowler. The deputy has been fired and charged with murder, based on bodycam footage from another deputy that showed him threatening Massey after she rebuked him and then shooting her.
“Sonya Massey deserved to be safe,” Harris wrote. “The disturbing footage released yesterday confirms what we know from the lived experiences of so many—we have much work to do to ensure that our justice system fully lives up to its name.” In other words, Harris said Massey’s name.
Writing Her Own Story
Our book argued that in the age of Trump, whom Black women almost universally see as hostile to their interests, finding the balance between humanity and magic is more important than ever for Black girls and women.
As then-first lady Michelle Obama said in a speech at the March 2015 Black Girls Rock awards, young Black girls often hear “voices that tell you that you’re not good enough, that you have to look a certain way, act a certain way; that if you speak up, you’re too loud; if you step up to lead, you’re being bossy.”
Around this time, author and social media influencer CaShawn Thompson began tweeting “#BlackGirlMagic” because, she said, “magic is something that people don’t always understand. Sometimes our accomplishments might seem to come out of thin air, because a lot of times, the only people supporting us are other Black women.”
The hashtag went mainstream at the 2016 Black Entertainment Television Awards, where actor and activist Jesse Williams delivered an impassioned discourse about race in America. He ended with a subtle nod:
“(T)he burden of the brutalized is not to comfort the bystander. That’s not our job, alright—stop with all that … the thing is that just because we’re magic doesn’t mean we’re not real.”
Williams was respectfully referencing the #BlackGirlMagic movement, alluding to the fact that Black girls’ and women’s identities include resistance against narratives that exclude them and a willingness to define themselves for themselves.
Harris has confronted this challenge many times through her career as a district attorney, state attorney general, senator and vice president. Now she has to invent herself again as a presidential candidate. And even with a large campaign staff, Harris will have to do this for herself.
Before I became vice president and before I was elected as U.S. senator, I was the attorney general of California. Before that, I was a prosecutor who took on predators, fraudsters, and cheaters.
As Nobel laureate Toni Morrison observed, the Black woman has “nothing to fall back on: not maleness, not whiteness, not ladyhood, not anything. And out of the profound desolation of her reality she may very well have invented herself.”
Our book highlighted the emotional fortitude that Black women draw on to accomplish so many feats while breaking unfathomable barriers. It’s no exaggeration to call what they do magic.
Harris will need plenty of support for a successful campaign—from Black women and many others. There will be serious issues to debate, from border security to foreign policy to the economy. But Harris also has a real opportunity to contrast her humor and positive energy with a very dark vision from the GOP—without letting them dictate when it’s OK for her to laugh.
The Conversation is a nonprofit, independent news organization dedicated to unlocking the knowledge of experts for the public good. We publish trustworthy and informative articles written by academic experts for the general public and edited by our team of journalists.
{"id":null,"mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Factkeepers.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Help Support Factkeepers","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"Factkeepers.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to donate? You can change this amount to anything you would like.","initial":{"instruction_type":"normal","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"invalid_curency":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to donate this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to donate this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to donate this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}